1. 总结四个文件 passwd/shadow/group/gshadow
/etc/passwd:主要存储用户及其属性信息
[root@localhost ~]# head -n3 /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
#文件格式
#loginName(登录用户名):password(密码位,x只是一个占位符,可为空):UID(用户id):GID(所属组id):GECOS(用户全名或描述信息,可为空):directory(用户家目录):shell(用户默认shell,/sbin/nologin表示不可登录)
/etc/shadow:主要存储用户密码及其属性信息
[root@rocky ~]# tail -n 3 /etc/shadow
wangwu:!!:20067:0:99999:7:::
user1:$6$fq3Ve/.BJA2S$5VhTWkBHKMHPI1d590FLr2jXm8JTQz1EoY.S7Ch2slIovaacdF7IMVL8u0kYKsk9Ivdib4I9dUhLvI2uT.icy/:20067:1:88:7:::
user2:$6$xdLGoO8rjLVk1$EPrcOApxQDAoTQYQJSLM4SQFm4Cw/kJyDl4O0f8BEA8ov6IHfOVFTw2f8f.PIf.D.UsZ0C9Iu4y.El.ULrMir1:20067:0:99999:7:::
#文件格式
#(login name):(encrypted password):(date of last password change):(minimum password age):(maximum password age):(password warning period):(password inactivity period):(account expiration date):(reserved field)
#login name 登录用户名
#encrypted password 加密后的密码,一般用sha512加密,可为空,!表示该用户被锁定,不能登录系统
#date of last password change 上次修改密码的时间,自1970年开始,0表示下次登录之后就要改密码,为空表示密码时效功能无效
#minimum password age 最小时间间隔,当前密码最少能使用多少天,0表示随时可被变更
#maximum password age 最大时间间隔,当前密码最多能使用多少天,99999表示一直可以使用
#password warning period 警告时间,密码过期前几天开始提醒用户,默认为7
#password inactivity period 不活动时间,密码过期几天后帐号会被锁定,在此期间,用户仍然可以登录,为空表示不使用此规则
#account expiration date 失效时间,从1970年1月1日算起,多少天后帐号失效,为空表示永不过期
#reserved field 保留字段,无意义
/etc/group:主要存储组及其属性信息
root@rocky ~]# tail /etc/group
printadmin:x:995:
ssh_keys:x:994:
libstoragemgmt:x:993:
sssd:x:992:
cockpit-ws:x:991:
cockpit-wsinstance:x:990:
chrony:x:989:
sshd:x:74:
slocate:x:21:
zhangsan:x:1000:
#文件格式
#group_name(组名):password(组密码):GID(组ID):user_list(用户列表,多个用户用,隔开,此处的用户将当前组作为附加组)
/etc/gshadow:主要存储组密码及其属性信息
[root@rocky ~]# tail /etc/gshadow
printadmin:!::
ssh_keys:!::
libstoragemgmt:!::
sssd:!::
cockpit-ws:!::
cockpit-wsinstance:!::
chrony:!::
sshd:!::
slocate:!::
zhangsan:!::
#文件格式
#group_name(组名):encrypted password(加密后的密码,!表示未设密码):administrators(组管理员):user_list(用户列表,多个用户用,隔开,此处的用户将当前组作为附加组)
2. 创建一个名为 zhangsan 的新用户
[root@rocky ~]# useradd zhangsan
[root@rocky ~]# getent passwd zhangsan
zhangsan:x:1090:1090::/home/zhangsan:/bin/bash
3. 删除一个名为 zhangsan 的用户及其主目录
[root@rocky ~]# userdel -r zhangsan
[root@rocky ~]# getent passwd zhangsan
[root@rocky ~]#
4. 创建系统用户 lisi 的登录shell为 /sbin/bash
[root@rocky ~]# useradd -r -s /sbin/bash lisi
[root@rocky ~]# getent passwd lisi
lisi:x:992:988::/home/lisi:/sbin/bash
5. 列出系统中所有的组
[root@rocky ~]# getent group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
........
6. 为用户 lisi 设置一个过期日期为 2024 年 12 月 31 日
[root@rocky ~]# chage -l lisi
最近一次密码修改时间 :12月 11, 2024
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :-1
两次改变密码之间相距的最大天数 :-1
在密码过期之前警告的天数 :-1
[root@rocky ~]# chage -E 2024-12-31 lisi
[root@rocky ~]# chage -l lisi
最近一次密码修改时间 :12月 11, 2024
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :12月 31, 2024
两次改变密码之间相距的最小天数 :-1
两次改变密码之间相距的最大天数 :-1
在密码过期之前警告的天数 :-1
7. 锁定用户 lisi 的账户,防止其登录
[root@rocky ~]# passwd -l lisi
锁定用户 lisi 的密码 。
passwd: 操作成功
[root@rocky ~]# getent shadow lisi
lisi:!!$6$3OOQFrogfwzCC2bY$V8k/ssMpP6KX4SlPmLKLsDTIJ7ssu.nd.q8gir6zrDplFrCzUVntHcOg6/F4JC8jeGxXvjSnj4lZEac.lFu.l0:20068:::::20088:
8. 查看用户 lisi 的账户过期信息
[root@rocky ~]# chage -l lisi
最近一次密码修改时间 :12月 11, 2024
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :12月 31, 2024
两次改变密码之间相距的最小天数 :-1
两次改变密码之间相距的最大天数 :-1
在密码过期之前警告的天数 :-1
9. 创建一个组为 it,gid 为 1100
[root@rocky ~]# groupadd -g 1100 it
[root@rocky ~]# getent group it
it:x:1100:
10. 将用户 lisi 添加到 it 组中
[root@rocky ~]# gpasswd -a lisi it
正在将用户“lisi”加入到“it”组中
[root@rocky ~]# getent group it
it:x:1100:lisi
[root@rocky ~]# getent gshadow it
it:!::lisi
[root@rocky ~]# id lisi
uid=992(lisi) gid=988(lisi) 组=988(lisi),1100(it)
1万+

被折叠的 条评论
为什么被折叠?



