docker容器中创建非root用户的操作方法
作者:veryitman
用户分享在Docker容器中创建非root用户nuser并配置权限的实践,通过设置密码、修改sudoers文件实现安全运行,避免使用root用户操作,适用于部署Stable Diffusion WebUI等场景,本文给大家介绍docker容器中创建非root用户的操作,感兴趣的朋友一起看看吧
简介
用 docker
也有一段时间了,一直在 docker
容器中使用 root
用户肆意操作。直到部署 stable diffusion webui
我才发现无法使用 root
用户运行它,于是才幡然醒悟:是时候搞个非 root
用户了。
我使用的 docker 镜像文件是 centos:centos7.9.2009
,使用如下命令就可以拉取其镜像文件。
docker pull centos:centos7.9.2009
接下来的内容都是基于该镜像进行操作的,仅供大家参考。
厉兵秣马
我们还是要做些准备工作。
1、创建/运行容器
docker run -d -it --name c_os centos:centos7.9.2009 docker container start c_os
2、进入容器(此时用的是 root 用户,docker默认如此)
docker exec -it c_os bash
3、安装相关工具
yum install -y vim yum install -y sudo
万事俱备
做完上面的工作,我们就可以来操刀了。
跟着命令敲,都是基本操作。
# 添加 nuser 这个用户 useradd -d /home/nuser -m nuser # 设置密码 passwd nuser
需要为该用户 nuser
设置一个密码,比如 565656。
usermod -aG wheel nuser
编辑 /etc/sudoers
文件
chmod u+w /etc/sudoers vim /etc/sudoers
修改两个地方
## Allows people in group wheel to run all commands # 取消这个注释 wheel ALL=(ALL) ALL # 新增 nuser ALL=(ALL) ALL
编辑完成之后,关闭文件的编辑权限。
chmod u-w /etc/sudoers
我们退出刚才进入的容器
exit
指定用户 nuser
重新进入容器
docker exec --user nuser -it c_os bash
可以使用如下命令查看当前登入的用户是哪位
whoami
结果显示:nuser,搞定!
到此这篇关于docker容器中创建非root用户的文章就介绍到这了,更多相关docker创建非root用户内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!