Linux系统中的用户管理
1. 用户及用户组存在的意义
1)用户存在的意义
2)用户组存在意义
2.用户及用户组在系统中的存在方式
3.用户切换
1)用户查看
2)用户切换
4.用户涉及到的系统配置文件
5.用户和用户组建立及删除
6.用户和用户组的信息管理
7.用户认证信息管理
- 用户及用户组存在的意义
1)用户存在的意义
系统资源是有限的,要有资源配合来合理分配系统资源。
身份(Account)
授权(Author)
认证(Auth)
3A机制,3A机制组成系统中最底层的安全架构
2)用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
电脑对数字敏感 ------ id
人类对字符串敏感 ------- 名称
id <---->名称
要记录到文件当中用户才能存在,用户是 /etc/passwd 文件中的一行字符;
用户组存在的方式就是 /etc/group 文件中的一行字符
3.用户切换
1)用户查看
命令 | 功能 |
---|---|
whoami | 查看当前用户 |
id | 查看用户 id 信息 |
id -u | 查看用户的用户id |
id -g | 查看用户主组id |
id -G | 查看 所有组的id |
id -n | 显示名称 |
![]() |
2)用户切换
su - username
命令 功能
- 切换用户环境 - = -l = --login
username root——>common user 不需要后者密码
common user ——> root 需要密码
common user ——> common user 需要密码
gnome-session-quit --force #使用图形界面切换用户
注:
在做用户切换时,使用完用户身份及时exit退出;
不要再一个shell中反复执行su命令,在一个shell中反复执行su命令会导致环境变乱。
4.用户涉及到的系统配置文件
命令 功能
/etc/passwd 用户身份信息文件
(用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默 认shell)
/etc/group 组身份信息文件
(组名称:组密码:组id:组附加成员 )
/etc/skel/.* 用户环境配置文件模板(骨文件)
/etc/shadow 用户认证信息文件
/home/username 用户家目录
/var/spool/mail/username 用户邮箱文件
用户名称 用户密码 用户id 用户主组id
root: x: 0: 0:
用户说明 用户家目录 用户默认shell
root: /root: /bin/bash
5.用户和用户组建立及删除
监控用户建立的命令:
watch -n 1 “tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home”
watch -n 1 “tail -n 4 /etc/passwd /etc/group”
#表示监控/etc/passwd /etc/group文件后四行内容
useradd username ##用户建立
-u id username ##uid 2**16=0-65535
##0 表示超级用户
##1-200 系统预留id
##201-999 系统用户
##1000-60000 用户级用户
##/etc/login.defs 记录用户建立的默认规则
-g id username ##主组id
-G id username ##附加组id
-d dir username ##指定用户家目录
-M username ##建立用户时不建立家目录
-c word username ##指定用户说明
-s shell username ##指定用shell
userdel -r username # #用户删除 -r 删除用户的系统配置文件
groupadd groupname ##组建立
-g id groupname ##指定组名称
groupdel groupname ##组删除
6.用户和用户组的信息管理
usermod
-l #更改用户名称
-u #更改用户id
-g #更改主组id
-G #更改用户附加组身份
-aG #添加用户附加组身份
-c #更改用户说明
-d #更改家目录指向
-md #更改家目录指向同时更改家目录名称
-s #更改默认shell
-L #冻结账号
-U #解锁
groupmod -g ##更改用户组id
7.用户认证信息管理
#/etc/shadow 文件内容说明
#用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:
账号非活跃期:账号到期时间:用户自定义(未使用)
#1.用户名称
passwd -S lee ##查看密码状态
#2.用户加密字符
#更改密码)`
passwd lee ##只有root可以执行 “echo 123 | passwd --stdin lee”
passwd ##普通用户改密码
Changing password for user lee.
Current password: #输入原始密码
New password: ##输入新密码(8位以上无序数字+无序字母组合)
Retype new password: ##重复输入
passwd: all authentication tokens updated successfully.