用户和组
用户和组
1、用户和组原理图
2、用户和组的应用场景
① 实现系统的用户管理
② 主要为了实现软件的安装配置
3、与组相关的文件
1)/etc/group :组文件信息
使用vi编辑器打开/etc/group文件
打开后如下图所示:
第1列:组名称
第2列:使用一个x占位符,真实密码存储在/etc/gshadow文件中
第3列:组id,组的唯一标识
0代表root超级管理员组
1-499代表系统组(软件安装时自动创建的组)
500之后代表自定义用户组
第4列:组内用户列表,用户与用户之间通过逗号隔开
2)/etc/gshadow :组密码文件(了解)
使用vi指令查看/etc/gshadow文件
打开文件后,效果如下图所示:
第1列:组名称
第2列:组密码
第3列:组内管理员
第4列:组内的用户列表
4、与用户相关的文件
1)/etc/passwd :系统用户文件
使用vi指令,打开passwd文件,如下图所示:
第1列:用户名称
第2列:用户密码,使用一个x占位符,,真实密码存储在/etc/shadow文件中
第3列:用户id,用户的唯一标识
第4列:所属组(主组)id
第5列:备注信息
第6列:用户的家,默认/home/用户名
第7列:用户指令目录
2)/etc/shadow :用户密码文件
使用vi编辑器打开/etc/shadow文件,如下图所示:
打开后效果:
第1列:用户名称
第2列:用户密码
5、与组相关的管理指令
1)groupadd 组名 :添加组
-g :添加组时指定组id(必须是500以后)
使用tail指令查看最后2行代码:
2)groupmod 组名 :修改组
-n :修改组名称
-g :修改组id
3)groupdel 组名 :删除组
6、与用户相关的管理指令
1)useradd [参数] 用户名 :添加用户
-g group_name :添加用户时指定所属组名称
-d home :添加用户时指定用户的家
例1:使用useradd创建用户
由此可知,使用useradd会自动添加一个用户并新创建一个组与用户名同名且会在/home目录下创建一个与用户名同名的用户的家。
例2:创建用户指定所属组
例3:创建用户时指定用户的家
2)usermod [选项] 用户名
-c comment :修改用户的备注信息
-l login_name :修改用户的登录名称
-d home_dir :修改用户的家
-g group_name :修改用户的所属组信息
3)userdel [参数] 用户名 :删除用户
-r :删除用户同时删除用户的家
例1:删除用户
例2:删除用户同时删除用户的家
7、设置用户口令
在Linux操作系统中,如果一个用户没有用户口令(密码),其是无法登陆Linux操作系统的!
passwd [选项] 用户 :重置用户密码
-S :Status缩写,查看用户密码状态(是否设置)
-l :lock缩写,锁定用户,防止用户登陆Linux操作系统
-u :unlock缩写,解锁用户
-d :删除用户密码
例1:passwd重置用户密码:
例2:查看用户的密码状态
例3:锁定用户防止登陆操作系统
例4:解锁用户
例5:删除用户口令
8、禁止用户登陆
1)/etc/shadow :禁止某个用户登陆
使用vi指令编辑/etc/shadow文件,如下图所示:
打开后,效果如下图所示:
如果你希望禁止某个用户登陆Linux操作系统,可以在密码的前面添加两个!!这样就可以禁止用户登陆了。
2)/etc/nologin :禁止所有用户登陆(root用户除外)
如果在实际应用中如系统维护,需要禁止所有用户登陆,我们可以在/etc目录下创建一个nologin文件即可阻止所有用户登陆。
9、附属组操作
gpasswd [参数] 组名 :添加或删除用户,主要针对附属组
-a user_name :添加用户到某个附属组中
-d user_name :从附属组中删除某个用户
10、用户相关指令
- su :切换用户
- newgrp :切换所属组
- whoami :我是谁?显示当前用户
例1:使用su切换用户
① 当使用root用户切换到普通用户不需要输入密码
② 当使用普通用户切换到普通用户需要输入密码
③ 当我们从普通用户切换到超级管理员root也需要输入密码
例2:newgrp切换所属组信息
例3:whoami我是谁,获取当前用户信息
11、显示用户信息
- id :显示用户信息
- groups :显示用户的所属组信息
12、设置用户信息
- chfn [用户名称] :设置用户信息
- finger [用户名称] :查看用户信息
13、批量添加用户
在实际工作应用中,可能需要大批量的导入Linux系统用户信息,这个时候不妨考虑使用批量导入功能。
批量添加用户六步走:
① 编辑用户文件
② 编辑密码文件
③ newusers
④ pwunconv
⑤ chpasswd
⑥ pwconv
第一步:编辑用户文件
第1列:用户名
第2列:用户密码,真实密码存放在/etc/shadow文件中
第3列:用户id
第4列:组id
第5列:备注信息
第6列:用户的家
第7列:系统用户Shell目录
第二步:编辑密码文件
第三步:使用newusers指令导入用户文件
执行以上步骤,代表把user.txt 文件中的内容导入到/etc/passwd文件中
第四步:使用pwunconv指令反转/etc/shadow文件中的密码到/etc/passwd中显示
第五步:使用chpasswd导入密码文件到/etc/passwd中
第六步:使用pwconv指令,重新生成/etc/shadow文件
到此u1,u2,u3,u4四个用户导入成功!
批量添加用户原理图:
14、赋予某些用户特殊权限
1)vi编辑/etc/sudoers(有语法着色,建议使用此方法)
2)直接使用visudo指令编辑用户权限(没有语法着色)
例:分配wenbao用户useradd与shutdown权限
特别说明:设置普通用户特殊权限时,其处理指令必须使用全路径,其指令所在路径可以通过whereis指令进行获取.
在sudoers文件中设置如下:
使用wenbao账户进行登陆,然后使用sudo –l查看器具有哪些超级权限:
使用时,我们必须通过如下格式进行操作:
sudo(以管理员身份运行) Shell指令全路径 相关选项或参数