Если на моем компьютере зарегистрировано более одного человека, при выключении компьютера в Ubuntu требуется аутентификация суперпользователя. Как я могу сделать так, чтобы любой пользователь мог выключить компьютер без запроса пароля?
administration
shutdown
Исайя
источник
источник
Ответы:
Обходной путь не требуется, просто измените политику, чтобы разрешить выключение без аутентификации администратора для выключения и перезагрузки, когда в систему вошли несколько пользователей.
Отредактируйте файл /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy, используя ваш любимый текстовый редактор. Вам понадобятся права суперпользователя.
Измените раздел, касающийся выключения, когда другие пользователи вошли в систему с
в
и раздел, касающийся перезагрузки, когда другие пользователи входят в систему с
в
И это позволит вам выключить и перезагрузить компьютер, когда в систему войдут несколько пользователей. Хотите ли вы это сделать, это другой вопрос.
источник
Ответ Ричарда Холлоуэя на самом деле не тот способ, которым должны предоставляться авторизации PolickKit. Установленные файлы
/usr/share/polkit-1/actions
не предназначены для изменения. Вместо этого вы должны изменить полномочия в соответствии с/etc/polkit-1/localauthority/50-local.d/
.Вот как вы делаете это для этого вопроса:
Создайте файл с именем
/etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown.pkla
и отредактируйте его, используяsudoedit
вид:Затем создайте другой
.pkla
файл в том же каталоге. Используйте любое имя, которое вам нравится.pkla
, например, заканчиваяallow_all_users_to_restart.pkla
, и заполните его следующим содержанием:Рекомендации:
источник
/var/lib/polkit-1/localauthority/50-local.d
иResultAny=yes
для обоих файлов была необходима дополнительная строка . Единственное предупреждающее сообщение, которое я сейчас получаю, - это тоFailed to set wall message, ignoring: Interactive authentication required.
, что выключение и перезапуск работает правильно.sysctl poweroff -i
требуетorg.freedesktop.login1.power-off-multiple-sessions
, поэтому я сделал отдельный файл с теми же строками, кроме:Action=org.freedesktop.login1.power-off-multiple-sessions
Существует лучший способ. Если у вас установлен dbus-send, вы можете завершить работу через dbus без необходимости повышать привилегии root .
Я не могу вспомнить страницу, где находится документация, но один пользователь Archlinux понял это.
Неисправность:
Перезагрузка:
Приостановка:
Hibernate:
С уважением.
источник
HAL, похоже, устарела и не установлена в последних выпусках Ubuntu.
Для управления состоянием электропитания необходимо использовать службы ConsoleKit и UPower dbus.
Неисправность:
Запустить снова:
Приостановка:
Hibernate:
Благодаря форумам Arch Linux .
Сейчас это работает в Precise и Quantal, но не знаю, как долго, с тех пор как фокус Freedesktop, кажется, смещается с ConsoleKit на systemd. Не знаю, заботится ли Canonical ...
источник
Это работает 14.04. Обновленный вариант предыдущего, IMO, правильный ответ от Flimm .
Вставьте это внутри:
источник
Невозможно обойти запрос пароля суперпользователя при перезагрузке, в то время как другие пользователи вошли в систему, не открыв окно терминала и не выполнив
reboot
команду от имени root:Даже если вы не настроили обход пароля для вашей учетной записи, вам
sudo
также будет предложено ввести пароль.Не волнуйтесь, это ХОРОШИЕ вещи. Перезагрузка должна быть редкой, и простая подсказка пароля администратора спасет вас от случайного попадания!
источник
Я считаю, что это проблема только при выполнении через командную строку.
Если это так, вот ссылка, которая может помочь с вашей проблемой.
источник
Добавьте остановку и / или перезагрузку в файл sudoers, назначенный группе / пользователю, которому вы хотите разрешить выполнение этой задачи. Таким образом, вы все еще можете контролировать, кто может завершить работу, но не предоставляя им полный root-доступ к машине.
http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-sudo-password/
источник
По-видимому, вы можете завершить работу без root из графического интерфейса, потому что gdm работает от имени пользователя root. Gnome говорит GDM, чтобы закрыть, и GDM делает это.
Вы можете сделать что-то подобное с помощью скрипта. Я не уверен, насколько вы удобны с BASH, но я считаю, что можно написать сценарий, который запускается от имени пользователя root и, когда он получает определенный сигнал, запускает команду завершения работы.
Имейте в виду, что это может создать проблему безопасности.
источник