web-dev-qa-db-ja.com

システムサービスまたはユニットを管理するには認証が必要です。

デーモンを通常のユーザーとして停止/開始しようとするたびに、奇妙な問題が発生します。別の通常のユーザーの資格情報を使用して認証を求められます。たとえば、次のようになります。

[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がログインしているときにaliceが認証を要求するのはなぜですか?これを修正しますか?

23
Jack O'Leary

システムはpolkit承認マネージャーを使用しており、メッセージはファイル/usr/share/polkit-1/actions/org.freedesktop.systemd1.policyからのものです。 polkit/etc/polkit-1および/usr/share/polkit-1ディレクトリで、より具体的にはrules.dおよびactionsサブディレクトリで構成できます。詳細は Polkit man page を参照してください。

11
Johan Myréen

システムサービスを管理するときは、通常のユーザーではなく、rootとして実行する必要があります。これは、シェルプロンプトの最後の$文字で示されます。

Sudo commandを使用するか、ルートに切り替えることができます(ルートシェルは通常# charで示されます)。

6
Khaled

/ etc/groupsおよびsudoersルールを確認します。これは、人がホイールグループに自分自身を追加し、その方法でrootになった場合に発生する可能性があります。

0
natermer