У меня возникает странная проблема, когда я пытаюсь остановить / запустить демона как обычный пользователь, он запрашивает аутентификацию с использованием учетных данных другого обычного пользователя - например:
[bob@server ~]$ systemctl stop some-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: alice
Password:
Почему Алиса запрашивает аутентификацию при входе в систему bob , и как мне это исправить?
systemd --user
как описано в этой статье . В противном случае вы могли бы предоставить sudo для каждого пользователя для необходимых услуг.Ответы:
Ваша система использует
polkit
диспетчер авторизации, и сообщение из файла/usr/share/polkit-1/actions/org.freedesktop.systemd1.policy
.polkit
может быть настроены в/etc/polkit-1
и/usr/share/polkit-1
каталогах, более конкретно вrules.d
иactions
подкаталогах. См. Справочную страницу Polkit для получения дополнительной информации.источник
su - alice
перед запуском демона vnc. Я предполагаю, что это делает Алису "владельцем сеанса, к которому принадлежит клиент".loginctl
команды. Это может подтвердить или опровергнуть мою теорию о том, что polkit просит владельца сеанса аутентифицироваться. Я действительно не могу сказать, почему Алиса является владельцем в этом случае.При управлении системными службами вам нужно делать это как root, а не как обычный пользователь. На это указывает
$
символ в конце приглашения оболочки.Вы можете использовать
sudo command
или переключиться на root (корневая оболочка обычно обозначается как#
char).источник
su - alice
затемsystemctl
запустил свой демон vnc, но теперь он запрашивает их аутентификацию для всех,systemctl
независимо от того, что это такое ...Проверьте / etc / groups и sudoers rule. Это может произойти, если человек добавил себя в группу wheel и таким образом стал root.
источник