Почему root не имеет / usr / local в пути?


19

Я заметил, что путь по умолчанию для root на моем виртуальном компьютере и серверах не включает / usr / local / bin

sudo -s  
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin

В то время как обычные пользователи на сервере имеют / usr / local / bin

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin

Почему root не нужен / usr / local в пути?

Где путь по умолчанию для определенного пользователем?


На какой ОС это? Большинство из них имеют /usr/local/sbinи /usr/local/binпо умолчанию путь root, но есть исключения.
Жиль "ТАК - перестань быть злым"

Просто столкнулся со странной разницей между двумя виртуальными машинами RHEL 6.4 (одна с, /usr/local/binа другая без). И тот, с которым /usr/local/binя не мог найти, где это было установлено.
батфастад

Ответы:


19

Потому что он не настроен в соответствующих файлах запуска оболочки для root.

Традиционно /usr/localон использовался для неофициального, локально установленного программного обеспечения (часто для того, чтобы переопределить ошибочные / сломанные / ограниченные «официальные» версии; друг сказал, что первым шагом, когда появилось новое Sun GNU > /usr/local). Как rootи везде, любая ошибка или неправильный дизайн в программах, которые он запускает, может быть фатальной. Само собой разумеется, что к запуску, например, локальной, экспериментальной версии makeroot, следует относиться с осторожностью. Лучше сделать дополнительный шаг, указав явный путь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.