В настоящее время я настраиваю Samba 4 DC на CentOS 7.
Как и я, samba-tool
работает нормально, но когда я бегу, sudo samba-tool
я получаю command not found
.
samba-tool
находится в /usr/local/samba/bin
. Я добавил каталог в PATH для себя и root.
Как и я, env | ^PATH=
правильно включает в себя вышеуказанный каталог. Однако sudo env | ^PATH=
показывает только PATH=/sbin:/bin:/usr/sbin:/usr/bin
.
Теперь переключаемся на пользователя root. env | ^PATH=
возвращается PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/samba/bin:/usr/local/samba/sbin
и samba-tool
работает просто отлично.
Это была моя интуиция, что sudo идеально отразил пользователя root, что, как мне кажется, не так. Исправление и, надеюсь, объяснение высоко ценится.
Ответы:
Это может быть ваше
sudo
использование,PATH
определенное в/etc/sudoers
файле, а не rootPATH
. Проверьтеman 5 sudoers
, ищитеsecure_path
вариант.Вы также можете прочитать
Как сделать
sudo
сохранение $ PATH?Подсказка: используйте
visudo
для редактирования/etc/sudoers
. Инструмент выполняет некоторую проверку работоспособности и может спасти вас от ситуации, когда вы теряете доступ к sudo из-за некорректного редактирования.источник