Команда работает как root, но не с sudo


1

В настоящее время я настраиваю 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, что, как мне кажется, не так. Исправление и, надеюсь, объяснение высоко ценится.


Попробуйте использовать 'su', затем выполните команду без 'sudo'.
TooMuchRAM

@ Thijs365 Я не понимаю, ты имеешь ввиду переключиться в root и запустить команду? Я уже знаю, что это работает.
Оливер Беннинг

Хорошо. Вы уверены, что у вас установлен sudo?
TooMuchRAM

@ Thijs365 Да. Судо работает, как и ожидалось, для пути env выше.
Оливер Беннинг

Хорошо. Я больше ничего не скажу.
TooMuchRAM

Ответы:


1

Это может быть ваше sudoиспользование, PATHопределенное в /etc/sudoersфайле, а не root PATH. Проверьте man 5 sudoers, ищите secure_pathвариант.

Вы также можете прочитать
Как сделать sudoсохранение $ PATH?

Подсказка: используйте visudoдля редактирования /etc/sudoers. Инструмент выполняет некоторую проверку работоспособности и может спасти вас от ситуации, когда вы теряете доступ к sudo из-за некорректного редактирования.

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