Назад | Перейти на главную страницу

который и sudo не используют один и тот же путь

$ which reboot

/usr/bin/reboot

$ sudo reboot

Sorry, user myusername is not allowed to execute '/sbin/reboot' as root

Что мне здесь не хватает?

Это говорит вам о том, что ваш sudo права не включают возможность использования reboot применение. PATH не изменяется; он может найти reboot просто хорошо.

cat /etc/sudoersи измените с помощью visudo как надо.

когда вы запускаете команду от имени пользователя root, файлы в папке sbin имеют более высокий приоритет, чем другие папки на вашем пути. Вот почему sudo выбирает / sbin / reboot. Вы должны использовать / sbin / reboot в своем файле sudoers или явно вызвать sudo / usr / bin / reboot

Я думаю, это как-то связано с этим вопросом:

https://stackoverflow.com/questions/257616/sudo-changes-path-why

Таким образом, sudo изменяет путь, но передает его неизменной команде. Таким образом, он использует / sbin / reboot для команды перезагрузки, но передает обычный путь к команде which (которая, следовательно, находит sudo в / usr / bin / reboot).