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

问题

在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

你可能感兴趣的:(docker,linux,运维)