Liunx 创建新用户 | 分配运行Docker权限

简介: Liunx 创建新用户 | 分配运行Docker权限

最近在写 Jenkins 专栏的文章,从一开始没人看,到上了热榜,越来越多的朋友看到,同时也收到很多正向反馈,就想把他写得更加完善一点,希望能够帮助到更多的朋友

昨晚在写 Jenkins Pipeline 任务时,还是感觉到了一台服务器的窘迫,一些最佳实践没法用案例复现出来


就找朋友借台服务器来用一段时间~,今天就是用他的服务器给我创建个用户,分配一下权限。

一、Liunx 创建新用户

创建一个新用户 ningzaichun 是新用户名

 sudo useradd -m ningzaichun

参数 -m :自动建立用户的登入目录。加上 -m就是会自动在 /home文件夹下自动创建一个ningzaichun用户文件夹

image.png

(图片说明:执行完无返回结果,正常现象)


设置新用户的密码

 sudo passwd ningzaichun

说明:这条命令的意思就是给ningzaichun用户设置密码,密码的设定记住不要含有用户名,否则会设置失败,我之前就是不想记密码,就想将密码设置的和密码一模一样。

image.png

(图片说明:设置密码,两遍密码需要一致,出现 successfully即是成功)

二、分配用户权限

给创建出来的新用户分配执行Docker命令的权限,因为我暂时只需要这个权限~


1、如果没有docker用户组的话,先要创建docker用户组


 sudo groupadd docker

image.png(图片说明:出现这个就是说已经存在了,就不用管了)

2、将用户添加进docker组中


 sudo gpasswd -a ${USER} docker #${USER} 变量就是当前登录用户
 sudo gpasswd -a ningzaichun docker #写明白 则是将写明的这个用户加入组中

image.png

3、查看docker组下的所有用户


 grep 'docker' /etc/group # 将 docker 换成其他的,就是查看其他的组下的用户

image.png(图片说明:出现你添加的用户即是添加成功)

三、切换用户测试

到这里就不再那么顺利~,又是学废新知识的一天

先说个关乎我自己的前提,我非常依赖 Docker,这在一定程度上影响了我并非是十分懂 liunx的人,你甚至可以把我理解为 liunx 中的小白。


我一开始用的切换用户命令为:su ningzaichun,从root 用户切换到其他用户,是无需密码的。

然后就出现了下面的错误:

image.png

错误ls: cannot open directory '.': Permission denied,说是拒绝访问。

我就感到非常奇怪,因为这是个最基础的命令了,一开始还以为是权限分配的问题,谁知道了就是没加 -

将命令改为 su - ningzaichun 或者 su -l ningzaichun 即可以正常使用。

image.png


出现上面那个错误的原因是因为在切换用户的时候,没有切换环境变量造成的。

-:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。

-l:同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。 -- 来自于网上

然后测试在当前用户下,执行 docker 命令是成功的

image.png

(图片说明:docker images 查看所有镜像)

你以为到这里就结束了,还没有勒,我们只是创建了用户,但还是要测试一下远程的ssh连接成不成功,毕竟之后的操作都是通过ssh远程连接来实现的。


四、远程连接

我先说,家人们,我又学到新知识了,知道一个配置文件的存在啦。


我在windows机器上直接拿 ssh ningzaichun@IP地址 的时候,出现了这样的场景:

 The authenticity of host ' ' can't be established.
 ECDSA key fingerprint is SHA256:.
 Are you sure you want to continue connecting (yes/no/[fingerprint])?

输完 yes后就被拒绝连接了.

因为输完yes了,IP被远程服务器记录, 没法复现出来截图给大家看了,

之后再尝试,就是下面这样的啦

image.png

 ningzaichun@xxxxxxxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

大伙遇到想了解去查一下就知道了,我直接给解决方法了.


这个牵扯到的是SSH主机的验证,网上有两种方案,一种是直接在配置文件中去掉验证,还有一种就是允许用户远程登录,我用的是第二种,第一种有安全问题,还是不合适。

在root用户下,编辑/etc/ssh/sshd_config文件


 vi /etc/ssh/sshd_config

在最后一行加入

 AllowUsers ningzaichun
 # 另外将最后一行的 PasswordAuthentication 的配置项改为 yes ,允许密码登录

即可。(insert 进入编辑模式,退出 按 esc ,再按 :,输入wq即可保存退出)

image.png

最后输入下面命令,重启 ssh 服务。

 service sshd restart

image.png

最后再来测试远程连接:

image.png


最后完结撒花~

删除用户

 userdel -r ningzaichun

参数 -r 递归删除

提一嘴:如果不完全删除用户信息,下次再创建相同用户的账号时会出现报错~

后记

希望自己能做一些有意义的事情,我将自己的知识分享,你觉得有收获,给予我正向的反馈,我收到你的反馈,开心的起飞,这又是一个好的开始哈哈~


你要热爱生活,生活才能热爱你丫

今天文章内容不多,照片来凑~👩‍💻

image.png


目录
相关文章
|
1月前
|
安全 Docker 容器
|
22天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
39 1
|
26天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
47 3
|
1月前
|
Shell Docker 容器
LangChain-10(2) 加餐 编写Agent获取本地Docker运行情况 无技术含量只是思路
LangChain-10(2) 加餐 编写Agent获取本地Docker运行情况 无技术含量只是思路
18 4
LangChain-10(2) 加餐 编写Agent获取本地Docker运行情况 无技术含量只是思路
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
249 3
|
1月前
|
安全 Docker 容器
Docker中运行容器时Operation not permitted报错问题解决
【10月更文挑战第2天】Docker中运行容器时Operation not permitted报错问题解决
367 3
|
1月前
|
前端开发 应用服务中间件 nginx
docker运行nginx镜像
这篇文章详细说明了如何在Docker中部署并运行Nginx服务,包括拉取镜像、配置文件的挂载以及容器的启动配置。
284 0
docker运行nginx镜像
|
1月前
|
缓存 NoSQL Redis
docker运行redis镜像
这篇文章介绍了如何使用Docker运行Redis镜像,并提供了启动和配置Redis容器的具体命令和步骤。
132 0
|
1月前
|
NoSQL Redis Docker
Docker获取镜像和运行镜像
这篇文章介绍了如何使用Docker获取镜像以及运行镜像的具体步骤和命令。
242 0
|
1月前
|
应用服务中间件 Shell nginx
Docker容器运行
Docker容器运行
31 0
下一篇
无影云桌面