为什么说创建docker用户组不是个好选择
在网上经常看到的一个操作就是为了让执行docker命令不需要敲sudo,而创建 docker
用户组并将用户添加如 docker
用户组内。
但是这样做其实风险挺大的,相当于给了该用户root的权利,比如该用户完全可以通过下面操作获取到实际上的root权限
docker run -it --rm --privileged -v /:/r archlinux/base chroot /r
而且最关键的是,这样获取root权限,linux内不会留下什么日志信息。
比较好的一个做法应该是通过修改 sudoers文件配置
和创建别名的方式来达到省略输入 sudo
的目的。
运行
sudo visudo
然后加入下面内容%wheel ALL=(ALL) NOPASSWD: /usr/bin/docker, /usr/bin/docker-compose
这样我们可以无需输入密码,使用
sudo docker
运行容器了创建别名
alias docker='sudo docker'
这样我们就可以直接使用
docker
来运行容器了,而它与docker用户组不同的地方在于,由于使用sudo
命令提权,该操作会被记录在sudo
日志中,可供审计。