
Я экспериментирую с Debian и мне интересно, какие у них разрешения, касающиеся systemd и перезагрузки. Я сделал следующие наблюдения (Debian Buster с lightdm и i3 WM):
- Команды
poweroff
и т.п. отображают, на/sbin/poweroff
которые есть ссылка/bin/systemctl
/bin/systemctl
имеет разрешения-r-s------
и недоступен для пользователя- В результате
systemctl poweroff
и т. д. работать не будет, дажеsystemctl --user mycommand
не будет (в отличие, например, от Arch Linux).
Однако, когда я устанавливаю KDE, я могу выключить и перезагрузить из меню без ввода пароля! Я не нашел никаких полезных ответов в сети и не понимаю, как это возможно. Как они этого добиваются?
решение1
Существует механизм под названием «polkit», который используется (помимо прочего) для того, чтобы позволить пользователю, локально вошедшему в систему, выполнять определенные задачи, которые в традиционной системе Unix потребовали бы прав root, например, выключение машины, подключение к сетям и т. д.
Более подробный ответ можно найти здесьКак перезагрузить gnome без прав root?не обращайте внимания на упоминание gnome в вопросе, этот механизм используется во многих различных рабочих столах.