Есть ли веская причина не добавлять sbin в стандартную переменную PATH?

Фон:

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 последствия и могут изменить свою конфигурацию, чтобы использовать их каталог ранее в последовательности.
  • стандарты
    • Это никоим образом не является изменением стандарта иерархии файловой системы; утилиты по-прежнему организованы в свои каталоги в соответствии с их функциями.
    • Не решить проблему, потому что "мы привыкли иметь эту проблему", глупо.

2 ответа

Решение

У постоянных пользователей нет реальной причины не иметь этих программ в своих PATHи если при регулярном вызове пользователя одна из этих программ является проблемой, то необходимо исправить программу и / или ее безопасность.

Вы будете рады найти в RHEL 6 и выше, что /sbin а также /usr/sbin сейчас по умолчанию PATH для всех пользователей, как это было в Fedora на протяжении многих лет. (А также /sbin символическая ссылка на /usr/sbin начиная с RHEL 7, но это уже другая проблема.)

Вы можете легко добавить это через локальное или общесистемное определение PATH. Причиной разделения в основном является традиция, и она была функцией команд в "sbin", являющихся системными двоичными файлами...

В моих установках и средах это не проблема. Моим пользователям не нужен доступ к системным утилитам. Добавленный шаг бега sudo или же su - Разумно наращивать привилегии или вводить полный командный путь, так как системы обычно не содержат интерактивных сеансов. Однако, это может быть не так в вашей ситуации. Если это проблема, измените переменную PATH.

Другие вопросы по тегам