在服务启动之前,如何在 Ubuntu 上运行“sudo chmod 666 /var/run/docker.sock”

Jon*_*297 7 docker ubuntu-16.04

我有一个 Ubuntu Server 16.04,有一个需要这个权限的服务

$ sudo chmod 666 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

现在,每次服务器重新启动时,都需要打开 ssh 控制台,运行该任务并手动启动服务。

我需要在服务启动之前运行该命令。最安全的方法是什么?

编辑:该服务的帐户已经是该docker组的成员。

pkh*_*mre 4

要直接回答您的问题,只需将以下内容添加到名为“/etc/init/docker-chmod.conf在启动期间设置权限”的文件中即可。

start on startup
task
exec chmod 666 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

但是您应该考虑将您的用户或系统用户添加到docker-unix 组中,以避免像这样的变通办法,这可能是一个巨大的潜在安全威胁。

chmod 的结果实际上为所有本地用户授予了 docker-socket 的读写权限,这允许任何人干扰你的 docker 镜像。