一般的话,docker默认在sudo的情况下安装,所以会导致一个问题。以普通用户登录的状况下,在使用docker images
时必须添加sudo
,那么如何让docker免sudo
依然可用呢?于是就有了此文~
当以普通用户身份去使用docker images
时,出现以下错误:
ok,我们锁定报错的文件。
看到了docker.sock这个文件的权限。
上图是报错文件的权限展示,可以看到其属主为root
,权限为rw
,可读可写;其属组为docker
,权限为rw
,可读可写。如果要当前用户可直接读取该文件,那么我们就为当前用户添加到docker
属组即可。
我们用这条命令:cat /etc/group |grep docker来查看是否有docker这个用户组,没有存在的话就新建一个,一般是默认存在的。
将用户加入该 group 内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker
重启 docker 服务
sudo service docker restart
切换当前会话到新 group 或者重启 X 会话
newgrp - vaf
注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。
再次运行没有问题了。
ok,当然这个不是我们的最终目的说,我们的最终目的是利用docker搭建一个漏洞环境。
当然,github上面有现成的
https://github.com/phith0n/vulhub
https://github.com/Medicean/VulApps
# 安装pip
curl -s https://bootstrap.pypa.io/get-pip.py | python3
# 安装compose
pip install docker-compose
# 进入某一个漏洞/环境的目录 cd struts2
# 自动化编译环境 docker-compose build
# 启动整个环境 docker-compose up -d
每个环境目录下都有相应的说明文件,请阅读该文件,进行漏洞/环境测试。
测试完成后,删除整个环境
docker-compose down