Задний план:
В PATH
переменная окружения указывает каталоги, в которых будет выполняться поиск при выполнении команды без указания пути. "sbin" пути (/sbin
, /usr/sbin
) предназначены для размещения административных утилит, поэтому многие дистрибутивы * nix не включают эти каталоги в настройки по умолчанию для PATH
. Тем не менее, существует множество обстоятельств, когда учетные записи, не являющиеся администраторами, на законных основаниях нуждаются в доступе к этим утилитам и должны указывать полные пути или изменять свои PATH
переменная для этого. Эту задачу относительно легко выполнить, но для новых пользователей она может оказаться обременительной. Хуже того, возникают более сложные проблемы, когда вы задействуете PAM, sudo, ssh и другие утилиты, которые взаимодействуют и иногда изменяют PATH
настройка. Поиск на этом сайте или в Интернете в целом дает множество примеров этих проблем, которые одинаково беспокоят как новых, так и опытных пользователей.
Вопрос:
Учитывая вышеупомянутый фон, есть ли веская причина не добавлять каталоги sbin в PATH по умолчанию? (предположительно через /etc/profile
,/etc/profile.d
, или эквивалент)
Я признаю, что «хорошо» - это субъективно, но вот несколько причин, по моему мнению, не выдерживающих никакой критики. Возможно, вы не согласны?
Неважные причины:
r-x
). Можно было бы привести аргумент неясности, что достаточно неквалифицированные плохие парни не могут найти «скрытые» утилиты, но это будет печально прозрачная завеса.reboot
команда, к которой они обращаются через свой собственный каталог, который они добавили в свои PATH
, а системное значение по умолчанию в каталоге sbin превзойдет их конфигурацию. Это угловой случай, и тот случай, когда рассматриваемый пользователь уже понимает PATH
последствия и могут изменить свою конфигурацию, чтобы использовать их каталог ранее в последовательности.У обычных пользователей нет реальной причины не иметь этих программ в своих PATH
, и если регулярный пользовательский вызов одной из этих программ является проблемой, то необходимо исправить программу и / или ее безопасность.
Вы будете рады найти в RHEL 6 и выше, что /sbin
и /usr/sbin
сейчас по умолчанию PATH
для всех пользователей, так как это был в Fedora много лет. (И /sbin
символическая ссылка на /usr/sbin
начиная с RHEL 7, но это уже другая проблема.)
Вы можете легко добавить это через локальное или общесистемное определение PATH. Причина расставания в основном традиция и был функцией команд в "sbin", являющихся система двоичные файлы ...
В моих установках и средах это не проблема. Моим пользователям не нужен доступ к системным утилитам. Добавленный шаг бега sudo
или su -
для повышения привилегий или ввода полного пути к команде является разумным, поскольку системы обычно либо не поддерживают интерактивные сеансы. Однако в вашей ситуации это может быть не так. Если это проблема, измените переменную PATH.