Запланированное завершение работы с Gnome-планировщиком - как войти в root psw

Я пытаюсь запланировать отключение сервера ubuntu 14 каждый вечер в 12:01 с помощью /sbin/poweroff.

.

Так как вам нужен root для выключения, команда не работает. Если я поставлю sudo перед командой, она запросит пароль, но я не на сервере, поэтому я не смогу его ввести.

Как я могу запланировать завершение работы с помощью gnome-scheduler, чтобы он автоматически вводил пароль?

2
задан 3 June 2014 в 18:05

2 ответа

Я думаю, что лучший способ сделать это - двухступенчатый процесс:

1) добавление команды, которую Вы хотите, выполняется как корень в sudoers так, чтобы Ваш обычный пользователь мог выполнить его без пароля. Чтобы сделать это, создайте файл в /etc/sudoers.d/; можно назвать его вообще, Вы хотите, например my-settings(1) (2):

sudo gedit /etc/sudoers.d/my-settings

с содержанием:

romano ALL=NOPASSWD: /usr/sbin/pm-suspend
romano ALL=NOPASSWD: /sbin/poweroff

(очевидно, изменение romano с Вашим обычным пользователем; если Вы не должны приостанавливать также, можно опустить первую строку). Теперь необходимо сделать файл читаемым корнем только:

sudo chmod 440 /etc/sudoers.d/my-settings

... и Вы установлены. Теперь необходимо смочь работать sudo /sbin/poweroff для отключения машины и Вам не предложат пароль.

2) Добавьте команду sudo /sbin/poweroff к Вашему планировщику гнома или использованию это в Ваших сценариях.

Я использую его много, чтобы сделать ночное резервное копирование с командной строкой стиля "my_backup_script; sudo/usr/sbin/pm-suspend' или после долгих команд (говорят, преобразовывая формат видео и затем выключение питания).

Существует страница Ubuntu о sudoers файле, но это не действительно актуально (это было записано перед sudo утилита имела способность проанализировать /etc/sudoers.d каталог), хотя информация там все еще допустима.


Сноски

(1) обратите внимание что эта работа в последней версии sudo (Я имею в виду, доступность /etc/sudoers.d каталог). Можно проверить, будет ли это работать путем рассмотрения файла '/etc/sudoers; если это имеет строку (около конца)

#includedir /etc/sudoers.d

это будет работать. Иначе необходимо добавить вышеупомянутые строки непосредственно к /etc/sudoers файлы; будьте осторожны и используйте visudoдля этого, потому что поврежденный /etc/sudoers файл является одной из самых трудных вещей восстановиться в системах Ubuntu.

Если Вы редактируете основные файлы непосредственно, предупреждены, что это могло быть перезаписано на обновлениях.

(2) Никакие позволенные точки, не используйте расширение! Посмотрите /etc/sudoers.d/README для большего количества информации.

1
ответ дан 3 June 2014 в 18:05

Если Вам не надоедает безопасность, можно подготовить сценарий завершения работы с:

echo <the_password_in_clear> |sudo -S /sbin/shutdown -P now

Тогда расписание это в кроне (например, с помощью расписания гнома). Вышеупомянутая строка введет пароль (это находится в читаемом формате) в sudo сессию для завершения работы. Используйте -P опция сохранить компьютер поворотным на расписанием BIOS (я предполагаю, что требуется повернуть ПК on& прочь полностью автоматического).

, Кроме того, управляя завершением работы с помощью пользовательского сценария дает возможность включать дополнительные действия, которые будут выполнены перед фактическим завершением работы, не смешивая с системными файлами.

0
ответ дан 3 June 2014 в 18:05

Другие вопросы по тегам:

Похожие вопросы: