デーモンを通常のユーザーとして停止/開始しようとするたびに、奇妙な問題が発生します。別の通常のユーザーの資格情報を使用して認証を求められます。たとえば、次のようになります。
[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が認証を要求するのはなぜですか?これを修正しますか?
システムはpolkit
承認マネージャーを使用しており、メッセージはファイル/usr/share/polkit-1/actions/org.freedesktop.systemd1.policy
からのものです。 polkit
は/etc/polkit-1
および/usr/share/polkit-1
ディレクトリで、より具体的にはrules.d
およびactions
サブディレクトリで構成できます。詳細は Polkit man page を参照してください。
システムサービスを管理するときは、通常のユーザーではなく、rootとして実行する必要があります。これは、シェルプロンプトの最後の$
文字で示されます。
Sudo command
を使用するか、ルートに切り替えることができます(ルートシェルは通常#
charで示されます)。
/ etc/groupsおよびsudoersルールを確認します。これは、人がホイールグループに自分自身を追加し、その方法でrootになった場合に発生する可能性があります。