Я использую Ubuntu 11.04. Я хочу запустить скрипт, который проверяет запущенный процесс и выключает систему, когда этот процесс завершается. Для этого пользователю требуется доступ для завершения работы, чтобы скрипт мог выполняться без пароля.
Я сослался на эту страницу и добавил текст в мой файл sudoers. Тем не менее, он все еще спрашивает меня пароль каждый раз, когда я выполняю sudo shutdown -h now
. Кроме того, я получаю сообщение об ошибке, в котором говорится, что права root требуются, когда я выполняю завершение работы без sudo.
Мой файл sudoers выглядит примерно так.
# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown
# User privilege specification
root ALL=(ALL:ALL) ALL
myusername ALL = NOPASSWD: SHUTDOWN
Как я могу дать разрешение пользователю на выполнение команды выключения без необходимости ввода пароля вручную?
Спасибо.
sudoers
файл, пожалуйста?Ответы:
Вы можете выключить или перезапустить, используя HAL или ConsoleKit, которые не требуют ввода имени пользователя / пароля:
HAL (более старые версии Ubuntu):
ConsoleKit (более новые версии Ubuntu, протестированные на Ubuntu 11.04):
источник
Я сделал это, как в этом ответе, работает для меня безупречно. Может быть, ваш подход пропускает
visudo
часть?Откройте командную строку и введите:
В открывшемся файле добавьте следующую строку в конце:
Затем выйдите из редактора и сохраните его (CTRL + x).
Теперь вы можете выключить компьютер из командной строки, например, после загрузки чего-либо:
источник
Некоторое время назад я сделал это, установив suid (Set User ID). Это заставляет программу выполняться как владелец файла, а не как пользователь, выполняющий его. Поскольку shutdown принадлежит root, это должно позволить вам завершить работу без sudo.
Однако это может повлиять на безопасность, поскольку любой может запустить отключение. http://en.wikipedia.org/wiki/Setuid
источник
/etc
.sudo
это правильный путь, на мой взгляд, но, к сожалению, пользователь не дает возможности увидеть егоsudoers
файл, и что с ним не так.Похоже, вы хотите запустить сам скрипт от имени пользователя root. Если вы хотите запустить скрипт, который ждет, пока что-то завершится, а затем выключает компьютер, то вы просто запустите скрипт с помощью sudo. Это спросит ваш пароль, когда вы запустите скрипт, но тогда сам скрипт сможет завершить работу системы без дальнейшего вмешательства.
источник