cos-用户系统管理
Linux-用户和用户组管理
用户配置文件
- 用户信息文件:
vim /etc/passwd
1. 第一字段:用户名称 2. 第二字段:密码标志 3. 第三字段:UID(用户ID) - 0: 超级用户 - 1-499: 系统用户(伪用户) - 500-65535: 普通用户 `# man`passwd` ----查看密码帮助信息 4. 第四字段:GID(用户初始组ID) 5. 第五字段:用户说明 6. 第六字段:家目录 1. 普通用户:/home/用户名/ 2. 超级用户:/root/ 7. 第七字段:登录之后的shell (shell:linux命令的解释器)
影子文件
(相当于passwd文件的影子,权限为 000)vim /etc/shadow
第一字段:用户名称
第二字段:加密密码
- 加密算法升级为SHA512散列加密算法
如果密码是“!!”或“*”代表没有密码,不能登录
- 加密算法升级为SHA512散列加密算法
第三字段:密码最后一次修改日期
- 使用1970年1月1日为标准时间,每过一天时间数加1
第四字段:两次密码修改间隔时间(与第三字段相比)
第五字段:密码有效期(与第三字段相比)
第六字段:密码修改到期前的警告天数(与第五字段相比)
第七字段:密码过期后的宽限天数(与第五字段相比)
0: 代表密码过期后立即失效
-1: 代表密码永远不会失效第八字段:账号失效时间(要用时间戳表示)
- 时间日期换算:
- 用时间戳显示当前时间:#
date +%s
- 把时间戳转换为日期:#
date -d "1970-01-01 15556 days"
- 把时间戳转换为时间:#
date -d @1568271453
- 转换指定日期为时间戳:#
date -d '2021-06-19 15:00' +%s
- 指定日期格式转换:#
date -d @1562641547 +"%Y-%m-%d %H:%M:%S"
- 用时间戳显示当前时间:#
- 时间日期换算:
第九字段:保留
组信息文件和组密码文件
vim /etc/group
vim /etc/gshadow
第一字段:用户名称
第二字段:组密码
第三字段:组管理员用户名
第四字段:组中附加用户
用户配置管理相关文件
a. 用户的家目录:
i. 普通用户:
/home/用户名/
,所有者和所属组都是此用户,权限是:700 (rwx——)ii. 超级用户:
/root/
,所有者和所属组都是root用户,权限是:550 (r-xrx—-)
b. 用户的邮箱目录:
cd /var/spool/mail/用户名/
c. 用户的模板目录:用于给每一个用户配置一个模板文件
cd /etc/skel/
示例:[ local@root skel ] # vim warning.txt
写给每一位用户的一份警告文件模板
用户管理命令
a. 用户添加命令: useradd
useradd 命令格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14[ root@localhost ~ ] # useradd [ 选项 ] 用户名
选项:
-u UID:手工指定用户的UID
-d 家目录:手工指定用户的家目录
-c 用户说明:手工指定用户的说明
-g 组名:手工指定用户的初始组
-G 组名:指定用户的附加组
-s shell:手工指定用户的登录设shell,默认是 /bin/bash
b. 添加默认用户:# useradd eayyoung
1 | // 默认用户的基本查询: |
c. 用户默认值文件:
1 | i. # vim /etc/default/useradd: |
d. 修改用户密码: passwd
- passqd 命令格式:
1 | 1) [ root@localhost ~] # pqsswd [ 选项 ] 用户名 |
e. 修改用户信息: usermod
—-修改已经存在的用户信息
usermod 命令格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28[root@localhost~]# usermod [选项] 用户名
选项:
-u UID:修改用户的UID号
-c 用户说明:修改用户的说明信息
-G 组名:修改用户的附加组
-L:临时锁定用户(Lock)
-U:解锁用户锁定(Unlock)
示例:
[root@localhost~]# usermod -c "test user" lamp
#修改用户的说明
[root@localhost~]# usermod -G root lamp
#把lamp用户加入root组
[root@localhost~]# usemod -L lamp
#锁定用户
[root@localhost~]# usermod -U 1amp
#解锁用户
f. 修改用户密码状态: chage
chage 命令格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[ root@localhost ~ ] # chage [ 选项 ] 用户名
选项:
-l :列出用户的详细密码状态
-d :日期 修改密码最后一次的更改日期(shadow 3字段)
-m :天数 两次密码修改间隔(4字段)
-M :天数 密码有效期(5字段)
-W :天数 密码过期警告天数(6字段)
-I :天数 密码过期后宽限天数(7字段)
-E :日期 账号失效时间(8字段)
示例:
[root@localhost~]# chage-d 0 lamp
#这个命令其实是把密码修改日期归零了(shadow第三字段)
#这样用户一登陆就要修改密码
补充: [ root@localhost ~ ] # chage -d 0
eayyounfg \---此命令是把密码修改日期归0,这样使用户一登录就需要更换密码
g. 删除用户: userdel
userdel 命令格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
151) [ root@localhost ~ ] # userdel [ -r ] 用户名
选项:
-r 删除用户的同时删除用户家目录
2) 补充手工删除:
[ local@root ~ ] # vi /etc/passwd
1) [ local@root ~ ] # vi /etc/shadow
2) [ local@root ~ ] # vi /etc/group
3) [ local@root ~ ] # vi /etc/gshadow
4) [ local@root ~ ] # rm -rf /var/spool/mail/eayyoung
5) [ local@root ~ ] # rm -rf /home/eayyoung
// 补充 查看用户的所有ID:# id eayyoung (eayyoung:用户名)
h. 切换用户身份: su
命令格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
141) [ root@localhost ~ ] # su [ 选项 ] 用户名
a) 选项:
- 只使用”-“ 代表连带用户的环境变量一起切换
-c 仅执行一次命令,但不切换用户身份
b) 示例 :
[ root@localhost ~ ] # su - root
# 切换到eayyoung 用户
[ eayyoung@localhost ] # su - root -c "useradd yiyang"
# 不切换root到用户去执行root的添加用户“yiyang”权限
c) 补充 :# env (查看当前系统操作的用户信息)
用户组管理命令
a. 添加用户组: groupadd
(添加新用户)
1 | groupadd 命令格式: |
b. 修改用户组: groupmod
- groupmod 命令格式:
1 | [ local@root ~ ] # groupmod [ 选项 ] 组名 |
c. 删除用户组:groupdel
- groupmdel 命令格式:
1 | [ root@localhost ~ ] # groupdel 组名 |
d. 把用户添加入组或删除出组: gpasswd
(已经存在的用户)
- groupadd 命令格式:
1 | [ root@localhost ~ ] # gpasswd [ 选项 ] 组名 |