声明:本系列文章是博主根据 “兄弟连新版Linux视频教程”做的笔记和视频截图,只为学习和教学使用,不适用任何商业用途。
PS:文章基于Linux版本CentOS6.9,如果对Linux感兴趣,建议去看《细说Linux》,沈超老师和李明老师的教学风格我很喜欢:)
第七章 用户和用户组管理
7.1用户配置文件
用户下的配置文件主要有四个:
用户信息文件 /etc/passwd
影子文件 /etc/shadow
组信息文件 /etc/group
组密码文件 /etc/gshadow
视频7.1.1 用户信息文件/etc/passwd
- /etc/passwd保存用户的基本信息
进入/etc目录下,使用命令 vim passwd 查看文件内容:
看不懂,使用命令 man 5 passwd 查看文件帮助(注意:5代表配置文件,man 5 后不能跟/etc/passwd,这样就是查看该文件内容而不是帮助文档了)
输入命令后提示没有这个命令:yum –y install man
继续输入命令:No entry for passwd in section 5 of the manual,需要安装man-pages
yum –y install man-pages
OK,可以查看passwd的帮助内容:
可以看到password是第二个位置,但是位置上是一个x,其实是放在/etc/shadow下;
x代表本机登录是不需要密码的,但是ssh连接是需要密码的;
在LINUX中root用户不一定是超级用户,但是UID为0的用户一定是超级用户;
视频7.1.2 用户和用户组管理-用户配置文件-影子文件/etc/shadow
shadow文件存储的密码共九个字段:
视频7.1.3 用户和用户组管理-用户配置文件-组信息文件
视频7.2 用户管理相关文件
如果将普通用户变为超级用户,家目录的位置会不会发生更改?
答:
首先,将普通用户变为超级用户,需要将/etc/passwd文件中该用户的UID设为超级用户UID,即0,此时用此用户登录,使用pwd命令,发现家目录还是在/home/user下。
区分是超级用户还是普通用户:
,命令行显示#,则表示当前登录用户为超级用户;
,命令行显示$,则表示当前登录用户为普通用户;
用户模板目录下的文件会在添加新用户时自动添加到/home/username目录下
7.3 用户管理命令
视频7.3.1 用户添加命令useradd
视频7.3.2 用户设置密码命令passwd
如果是普通用户,只能设置自己的密码,且不能使用passwd username命令设置,只能通过passwd命令(设置当前用户密码)设置自己的密码;
使用passwd -l guest命令锁定guest用户后,进入/etc/shadow文件查看guest用户的密码:
管道符“|”的作用:将第一个命令的输出作为第二个命令的输入或参数
--stdin命令:不需要用户手动输入密码,而是接受“123”这个参数;
该命令主要用于shell命令;
视频7.3.3 修改用户信息usermod和修改用户密码状态chage
视频7.3.4 删除用户命令userdel和切换用户命令su
注意,从普通用户切换root用户时经常会有报错的情况,这是因为环境变量没有改变:
注:env命令是查看系统环境变量
这是由于su命令缺少 – 选项:su - root
使用exit命令退出当前用户,使用su – root命令切换用户,env查看环境变量,发现都变味root用户的环境变量;
使用su命令的-c选项,仅使用用户身份去执行命令,而不切换用户:
如:上图使用root身份添加用户
视频7.4 用户组管理命令
注意:如果要删除的组作为其他用户的初始组,则不可以删除;
如果要删除的组不作为其他用户的初始组或者作为其他用户的附加组,则可以删除;
例子:现在先添加一个以tg组为初始组的用户,再添加一个以tg组为附加组的用户,查看/etc/group文件:
发现只新生成了lamp1组,没有新生成lamp组,这是因为lamp用户已经有初始组了,而创建的lamp1组没有,必须要为lamp1用户创建一个lamp1的初始组:
此时,删除tg组发现:
必须先删除组对应的初始用户后,才能删除该组:
gpasswd操作其实是附加用户;