認証が利用できません。polkit サービスが実行されているかどうかを確認するか、詳細についてはデバッグ メッセージを参照してください。

質問

CentOS で Docker を使用したいのですが、インストール後に Docker クライアントが Docker デーモンに接続できません
。次のように入力します。

systemctl status docker

見せる:

Authorization not available. Check if polkit service is running or see debug message for more information.

chatGPTに質問したり、さまざまなブログやcsdnを検索しても問題は解決できません

解決する

1. polkit サービスを再インストールします (オプション)

polkit の古いバージョンをアンインストールします。

sudo yum remove polkit

古いバージョンの polkit データをクリアします。

sudo rm -rf /var/lib/polkit-1/

新しいバージョンの polkit をインストールします。

sudo yum install polkit

2. dbus サービスを再インストールします (オプション)

古いバージョンの dbus をアンインストールします。

sudo yum remove dbus

キャッシュの消去:

sudo yum clean all

新しいバージョンの dbus をインストールします。

sudo yum install dbus

3. systemd サービスを再インストールします (オプション)

sudo yum reinstall systemd

上記の手順により、システム サービスが正常であることが確認されます。

4. ユーザー/グループの作成

getent group polkitd >/dev/null && echo -e "\e[1;32mpolkitd group already exists\e[0m" || {
    
     groupadd -r polkitd && echo -e "\e[1;33mAdded missing polkitd group\e[0m" || echo -e "\e[1;31mAdding polkitd group FAILED\e[0m"; }
getent passwd polkitd >/dev/null && echo -e "\e[1;32mpolkitd user already exists\e[0m" || {
    
     useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd && echo -e "\e[1;33mAdded missing polkitd user\e[0m" || echo -e "\e[1;31mAdding polkitd user FAILED\e[0m"; }

5. polkit 関連ファイルを再認証する

rpm -Va polkit\* && echo -e "\e[1;32mpolkit* rpm verification passed\e[0m"  || {
    
     echo -e "\e[1;33mResetting polkit* rpm user/group ownership & perms\e[0m"; rpm --setugids polkit polkit-pkla-compat; rpm --setperms polkit polkit-pkla-compat; }

6. /var/run をバックアップします。

mv /var/run /var/run.old
mv /var/lock /var/lock.old

7. シンボリックリンクを再作成します

ln -s /run /var/
ln -s /run/lock /var/

8. 変更を同期する

sync; sync

9. サーバーを再起動します

reboot

10. dbus と polkit を開始します

sudo systemctl start dbus
sudo systemctl start polkit
sudo systemctl start docker
sudo systemctl status docker

おすすめ

転載: blog.csdn.net/weixin_46398647/article/details/129797875