Включите завершение работы из другого компьютера на LAN, не вводя sudo пароль

Я пытаюсь выполнить этот сценарий от своего ноутбука для завершения работу сервера, не имея необходимость вводить sudo пароль. (Оба запускают Ubuntu 14.04.2 LTS),

ssh -t lachlan@192.168.0.xxx sudo shutdown -h now


lachlan@lachlan-MacBookAir:~/.scripts$ ./optiplex_990_shutdown.sh
[sudo] password for lachlan: 
Connection to 192.168.0.xxx closed.

Поскольку Вы видите, что это все еще просит пароль. Следующие строки включены в sudoers файл, отредактированный с помощью sudo visudo.

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
lachlan lachlan-MacBookAir= NOPASSWD: SHUTDOWN_CMDS

Вывод от sudo -l

User lachlan may run the following commands on ubuntu:
(ALL) NOPASSWD: /sbin/poweroff, /sbin/halt, /sbin/reboot
(ALL : ALL) ALL

BTW Лаклан является также именем пользователя для администратора на сервере

Я также попытался выполнить следующее

ssh lachlan@192.168.0.xxx dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

и я получаю следующее в терминале

Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized

Я предпочел бы использовать второй метод dbus-send и у меня есть эта работа для моего выполнения intel NUC Kodibuntu, но сервер Ubuntu должен быть более безопасным в некотором роде. BTW я настроил Основанную на ключе аутентификацию для соединений SSH, таким образом, не случается так что, прося у меня пароль.

Заранее спасибо. Извинения за плохое форматирование в этом сообщении (первый вопрос)

Я сравнил содержание
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
на обеих машинах Intel nuc работающий kodibuntu и optiplex 990 рабочий сервер человечности и они являются оба тем же. Таким образом, должно случиться так, что там являются многопользовательскими, вошел в систему право? Нет. Я попытался регистрироваться многопользовательский в к nuc через ssh от 2 других ноутбуков и сверился who -a. Затем я запустил следующий скрипт
ssh lachlan@192.168.0.xxx dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Без проблем, все работы. Я зарегистрировал те же 2 компьютера в к серверу человечности и запустил тот же скрипт, и я добираюсь
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized

Хорошо. От терминала на каждой машине только для устранения любых глупых ошибок, которые я мог бы делать, я ввел команду
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
и тот же результат. Таким образом на kodibuntu Вы не должны быть администратором, и на сервере человечности Вы делаете. Как Вы изменяете это, и должен я?

1
задан 22 June 2015 в 15:11

0 ответов

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

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