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


目录
相关文章
|
12月前
|
安全 Docker 容器
|
7月前
|
SQL 数据库 Docker
【赵渝强老师】在Docker中运行达梦数据库
本文介绍了在Docker容器中部署达梦数据库(DM 8)的具体步骤,包括创建文件夹、下载安装包、导入镜像、启动容器、登录数据库及查看状态等操作。同时,通过视频讲解辅助理解。文中还分析了将数据库服务容器化的潜在问题,如数据安全性、硬件资源争用、网络带宽占用和额外隔离带来的挑战,指出数据库服务在生产环境中可能不适合容器化的原因。
374 4
【赵渝强老师】在Docker中运行达梦数据库
|
6月前
|
NoSQL Redis 数据库
Docker平台上的Redis镜像运行
这就是如何在Docker平台上运行Redis镜像的全部过程。走进Docker和Redis的世界,探索更多可能!
394 10
|
10月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
9月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
777 25
|
10月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
416 5
|
10月前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
241 4
|
11月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
1845 1
|
11月前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
945 3
|
12月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1316 3