为什么说创建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日志中,可供审计。
