$ 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).