ubuntu遇到了这样一个问题:
docker已经安装,但是执行的时候失去了权限。因为本身就是root权限操作的,所以排除了账号权限的问题。那是什么问题导致的呢?
去到 /usr/bin/ 目录下,查看一下docker文件,发现竟然没有执行权限了。
试着重新赋权,执行一下看是不是这个原因:
首先先查看一下文件属性:
root@TEST-DoNotDelete:~# lsattr /usr/bin/docker
----i---------e----- /usr/bin/docker
发现该文件有 i属性 ,这是防止文件被修改儿设置的。但我们现在执行权限的添加需要放开 i属性。
去除一下 i属性,并为它赋权限:
root@TEST-DoNotDelete:~# chattr -i /usr/bin/docker
root@TEST-DoNotDelete:~# chmod -R 777 /usr/bin/docker
现在查看一下文件的权限:
现在权限都回来了,执行看看:
成功了!
但是吧,不长久,会掉:
没办法了,写了一个脚本,执行命令,方便赋权,具体原因,后面再分析吧。以下是脚本docker-file.sh:
#!/bin/sh
export LANG=en_US.UTF-8
echo "Start reset docker file"
chattr -i /usr/bin/docker
chmod -R 777 /usr/bin/docker
echo "Finish!"
以上是这个问题的发现、排查、解决的一个记录,至于终极解决方案,晚点查一下,在更新!