用户和组的主要配置文件
前两个是放用户账号相关的,后两个是放和组相关的
- /etc/passwd:用户及其属性信息(名称、UID、主组ID等) #早期密码也放这里,后来发现不安全,谁都能看
- /etc/shadow:用户密码及其相关属性 #后来将密码放在shadow里,普通用户打不开
- /etc/group:组及其属性信息
- /etc/gshadow:组密码及其相关属性
man帮助第五章放的配置文件的相关信息,/etc下的都是系统配置文件,可以使用man帮助来查看
[root@C8-1 ~]# whatis passwd
openssl-passwd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@C8-1 ~]# man 5 passwd
passwd文件格式
Each line of the file describes a single user, and contains seven colon-separated fields:
name:password:UID:GID:GECOS:directory:shell
[root@C8-1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
- login name:登录用名(wang)
- passwd:密码 (x)
- UID:用户身份编号 (1000)
- GID:登录默认所在组编号 (1000)
- GECOS:用户全名或注释
- home directory:用户主目录 (/home/wang)
- shell:用户默认使用shell (/bin/bash)
shadow文件格式
[root@C8-1 ~]# getent shadow root
root:$6$0oNcn58oJTkyswqj$ZSA1obbRFFvijoTaiY.GJsBz1CBhIOWt7eEIC7jdZTUZbifpJnR1f8ekUJwc4RTVi/XY5xX/YmkcfFEllTWCZ.::0:99999:7:::
[root@C8-1 ~]# getent shadow pang
pang:$6$QpM5ZwGYiPFjyJTk$xhuVNY9VFLbo576vMW3h/GFpnb5WJJXwvc5ELzMt.KyvjhRiSll.pNKU5Day.ZHVgk4m1VLf4GQeH.px2xYbb0:18433:0:99999:7:::
- 登录用名 pang
- 用户密码:一般用sha512加密 哈希算法 散列
- 从1970年1月1日起到密码最近一次被更改的时间 18433
- 密码再过几天可以被变更(0表示随时可被变更) 0
- 密码再过几天必须被变更(99999表示永不过期) 99999
- 密码过期前几天系统提醒用户(默认为一周) 7
- 密码过期几天后帐号会被锁定 默认空
- 从1970年1月1日算起,多少天后帐号失效 默认空
$6代表sha512 哈希算法 散列算法
更改密码加密算法:
[root@C8-1 ~]# sha
sha1hmac sha1sum sha224hmac sha224sum sha256hmac sha256sum sha384hmac sha384sum sha512hmac sha512sum
[root@C8-1 ~]# authconfig --passalgo=sha256 --update
密码的安全策略
- 足够长
- 使用数字、大写字母、小写字母及特殊字符中至少3种
- 使用随机密码
- 定期更换,不要使用最近曾经使用过的密码
生成随机密码
[root@centos8 ~]#tr -dc '[:alnum:]' < /dev/urandom | head -c 12
sFg6C8g5FAfe
[root@centos8 ~]#openssl rand -base64 9
hvMkPmAyIrXMQInt
group文件格式
- 群组名称:就是群组名称
- 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow
- GID:就是群组的 ID
- 以当前组为附加组的用户列表(分隔符为逗号)
gshadow文件格式
组口令没有什么实际用途,实现组成员调整用的
叹号 ! 表示口令是被锁定的,表示这个账户将不能直接登录
两个叹号 !! 表示双重保险,要想要这个账户登录,必须删掉两个!,删掉一个都不行
- 群组名称:就是群的名称
- 群组密码:
- 组管理员列表:组管理员的列表,更改组密码和成员
- 以当前组为附加组的用户列表:多个用户间用逗号分隔
[root@C8-1 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
.
.
pang:x:1000:
[root@C8-1 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
.
.
pang:!::
文件操作
不推荐使用以下命令
- vipw和vigr
编辑文件的时候自带语法检查功能 - pwck和grpck
这两个是用来专门检查语法的