Я использую Ubuntu 11.04. Я хочу запустить скрипт, который проверяет выполняемый процесс и завершает работу системы, когда этот процесс завершается. Для этого пользователю требуется выключение доступа, чтобы сценарий мог быть выполнен без необходимости ввода пароля.
Я ссылался на эту страницу и добавил текст в файле sudoers. Тем не менее, он все еще спрашивает меня пароль всякий раз, когда я выполняю sudo shutdown -h now. Кроме того, я получаю сообщение об ошибке root, когда я выполняю shutdown без sudo.
Мой файл sudoers выглядит примерно так.
# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown
# User privilege specification
root ALL=(ALL:ALL) ALL
myusername ALL = NOPASSWD: SHUTDOWN
Как я могу разрешить пользователь выполнит команду выключения без необходимости вручную вводить пароль?
Спасибо.
Некоторое время назад я сделал это, установив suid (Set User ID). Это заставляет программу выполнять роль владельца файла, а не пользователя, запускающего его. Поскольку shutdown принадлежит root, это должно позволить вам отключиться без sudo.
chmod u+s /sbin/shutdown
Имеются последствия для безопасности, поскольку каждый может запустить завершение работы. http://en.wikipedia.org/wiki/Setuid
Некоторое время назад я сделал это, установив suid (Set User ID). Это заставляет программу выполнять роль владельца файла, а не пользователя, запускающего его. Поскольку shutdown принадлежит root, это должно позволить вам отключиться без sudo.
chmod u + s / sbin / shutdown
Есть последствия для безопасности, хотя, поскольку кто-либо затем может завершить работу. [D0] http://en.wikipedia.org/wiki/Setuid
Я сделал это, как в , этот ответ, работает безупречно для меня. Возможно, ваш подход пропускает часть visudo
?
Откройте командную строку и введите:
sudo visudo
В открывшемся файле добавьте следующую строку в конец:
yourusername ALL = NOPASSWD: / sbin / halt
Затем выйдите из редактора и (CTRL + x).
Теперь вы можете выключить компьютер из командной строки, например после загрузки:
wget UrlOfTheFileYouWantToDownload; sudo halt
Похоже, вы хотите запустить скрипт как root. Если вы хотите запустить скрипт, который ждет чего-то, чтобы закончить, а затем отключить ваш компьютер, вы просто запустите скрипт с помощью sudo. Это будет запрашивать ваш пароль при запуске скрипта, но тогда сам скрипт может отключить систему без какого-либо дальнейшего вмешательства.
Некоторое время назад я сделал это, установив suid (Set User ID). Это заставляет программу выполнять роль владельца файла, а не пользователя, запускающего его. Поскольку shutdown принадлежит root, это должно позволить вам отключиться без sudo.
chmod u + s / sbin / shutdown
Есть последствия для безопасности, хотя, поскольку кто-либо затем может завершить работу. [D0] http://en.wikipedia.org/wiki/Setuid
Похоже, вы хотите запустить скрипт как root. Если вы хотите запустить скрипт, который ждет чего-то, чтобы закончить, а затем отключить ваш компьютер, вы просто запустите скрипт с помощью sudo. Это будет запрашивать ваш пароль при запуске скрипта, но тогда сам скрипт может отключить систему без какого-либо дальнейшего вмешательства.
Я сделал это, как в , этот ответ, работает безупречно для меня. Возможно, ваш подход пропускает часть visudo
?
Откройте командную строку и введите:
sudo visudo
В открывшемся файле добавьте следующую строку в конец:
yourusername ALL = NOPASSWD: / sbin / halt
Затем выйдите из редактора и (CTRL + x).
Теперь вы можете выключить компьютер из командной строки, например после загрузки:
wget UrlOfTheFileYouWantToDownload; sudo halt
Некоторое время назад я сделал это, установив suid (Set User ID). Это заставляет программу выполнять роль владельца файла, а не пользователя, запускающего его. Поскольку shutdown принадлежит root, это должно позволить вам отключиться без sudo.
chmod u + s / sbin / shutdown
Есть последствия для безопасности, хотя, поскольку кто-либо затем может завершить работу. [D0] http://en.wikipedia.org/wiki/Setuid
/ etc
.
– enzotib
20 June 2011 в 16:57
sudo
- правильный путь, на мой взгляд, но, к сожалению, пользователь не дает возможности увидеть файл sudoers
, и что с ним не так.
– enzotib
20 June 2011 в 23:05
Похоже, вы хотите запустить скрипт как root. Если вы хотите запустить скрипт, который ждет чего-то, чтобы закончить, а затем отключить ваш компьютер, вы просто запустите скрипт с помощью sudo. Это будет запрашивать ваш пароль при запуске скрипта, но тогда сам скрипт может отключить систему без какого-либо дальнейшего вмешательства.
Я сделал это, как в , этот ответ, работает безупречно для меня. Возможно, ваш подход пропускает часть visudo
?
Откройте командную строку и введите:
sudo visudo
В открывшемся файле добавьте следующую строку в конец:
yourusername ALL = NOPASSWD: / sbin / halt
Затем выйдите из редактора и (CTRL + x).
Теперь вы можете выключить компьютер из командной строки, например после загрузки:
wget UrlOfTheFileYouWantToDownload; sudo halt