1用户与组的关系
同一个用户可以属于多个组,但只有一个主组。
与组相关的文件
组文件
文件位置:/etc/group
vim /etc/group
执行命令结果如下:
第1列:组名称
第2列:一个组密码占位符,真实的密码在/etc/gshadow文件中
第3列:组id,0代表root超级组,1~499是系统组,500以后是自定义组
第4列:组内用户(附属组内用户)
组密码(了解,新版本已经没有组密码了)
文件位置:/etc/gshadow
vim /etc/gshadow
第1列:组名称
第2列:组密码,基本没有密码了
第3列:组内管理员
第4列:组内用户
与用户相关的文件
用户文件
文件位置:/etc/passwd
vim /etc/passwd
打开后如下所示
第1列:用户名称
第2列:用户秘密占位符,真实密码在/etc/shadow文件中
第3列:用户id编号
第4列:用户组id编号
第5列:用户备注
第6列:用户家位置
第7列:用户指令目录,如果此参数是/sbin/nologin代表此用户不能登录操作系统
用户的密码文件
文件位置:/etc/shadow
vim /etc/shadow
打开后如下所示
第1列:用户名称
第2列:用户密码
与组相关的Shell命令
groupadd 组名:添加组
-g:添加组时指定id
groupmod 组名:
-n:修改组名称
-g:修改组id
groupdel 组名:
VIM小技巧
末行模式下
:0 代表跳转到第一行
:n 代表跳转到第n行
:$ 代表跳转到最后一行
tail指令
tail -n 2 文件名称 显示文件最后几行
tail -f 文件名称 实时查询文件变化
与用户相关的Shell指令
useradd指令:添加用户
相关选项
-g group_name:代表添加用户时,指定用户所属组
-d home:添加用户时指定用户的家,如果不制定默认/home/用户名
usermod
-c comment:修改备注
-l login_name:修改用户名称
-d home_dir:修改家的位置
修改时不会自动创建家
-g group_name:修改用户所属组
userdel删除用户
相关选项
-r:删除用户时,同时删除用户的家
不加 -r 删除
加 -r 删除
设置用户密码(前面创建的用户都没有密码,没有密码不能登录)
基本语法:passwd [选项] 用户
添加测试用户
相关选项:
-S:Status缩写,查看用户状态
用户没有密码时是锁定的
-l:lock缩写,代表锁定用户,锁定的用户不能登录系统
锁定时用户需要有密码
设置密码
锁定后不能登录
-u:unlock缩写,解锁锁定的用户
-d:del缩写,代表删除用户密码
禁止普通用户(除root)登录系统
文件位置:
/etc/shadow:禁止某个用户登录系统
在密码中添加两个叹号。保存是用强制保存
/etc/nologin:禁止所以用户登录系统
场景:当系统要维护,通知所以小伙伴某个时间不能登录后。可以设置nologin让所以普通用户不能登录。
在etc文件下添加nologin文件。
登录时会闪退
删除nologin文件就可以正常登录了
添加或删除组成员(针对附属组)
gpasswd [选项] 组名
相关选项
-a user_name:添加用户到附属组中
-d user_name:从附属组中删除用户
用户和组相关的其它命令
su
切换用户
newgrp
切换用户所属的组
用户默认使用的主组
whoami(我是谁)
查看用户信息
id(查看的信息比较多)
groups(只能查看组信息)
设置和查看用户的资料信息
chfn(设置用户信息)
finger(查看用户信息)
安装finger需要的依赖软件
批量添加用户
编辑用户文件
编辑密码文件
newusers
使用newusers指令将user.txt中的用户信息导入到/etc/passwd中
newusers < user.txt
密码也默认会有内容
pwunconv
使用pwunconv指令将/etc/shadow文件中的密码都倒回到/etc/passwd文件中
pwunconv
执行pwunconv指令后,/etc/shadow文件就不见了
/etc/passwd文件中密码占位符变成了密码
chpasswd
使用chpasswd命令将pass.txt 文件中的密码导入到/etc/passwd文件中
chpasswd < pass.txt
pwconv
使用pwconv指令将/etc/passwd文件中的密码放到/etc/shadow文件中
pwconv