第9章 管理用户账户(注意:红字)
环境
1、RHEL6.4 CLIENT IP: 10.10.10.223
1、管理密码的属性
2、使用chage管理账户的一些属性
3、查看/etc/passwd文件
例子:[root@student ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
1)root 是账户信息
2)X是密码,但为了账号安全密码和用户信息分开保存的
( /etc/shadow存放加密过的密码信息)
3)0代表uid
4)0代表gid
5)root是账户的描述
6)/root 是家目录
7)/bin/bash 是用户使用shell类型
4、修改用户的shell类型、所属的组和属组、家目录
usermod -s /sbin/nologin
usermod -g
usermod -G
usermod -d
5、查看密码加密特点
1) /etc/shadow文件使用man帮助文档命令查看crypt
So $5$salt$encrypted is an SHA-256 encoded password and $6$salt$encrypted is an SHA-512 encoded one.(这句话的意思是说,如果使用SHA-256加密前三位就一定是“$6$”,如果是SHA-512加密的话前三位一定是“$5$”)
2) 查看/etc/login.defs文件
ENCRYPT_METHOD SHA512 第65行提示说系统的加密模式是SHA512方式
3)查看student用户加密方式
[root@student ~]# cat /etc/shadow |grep student
student:$6$9gMe3hcG$kvg9gmQExAeJ.nPYLoQnlst4rqcKScrVP5eFUq1m1p67V1K0YuNCKEFPlr2U5H0GZLIkwKReSCWcTPpbdn/1t/
4)/etc/shadow文件student用户的第3列“16818”意思是从1970年1月1日开始到最后1次修改密码的时间(就是经历了多少天)。
天数计算使用date命令的中“%s”
%s seconds since 1970-01-01 00:00:00 UTC
① [root@student ~]# date +%s
1453238556 ---这个是1970年1月1日到现在经过了多少秒
② 使用bc工具进行计算
[root@student ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1453238556/3600/24 --3600是1天的时间,1天24小时
16819
③ 来修改一下student密码是否等于16819
[root@student ~]# cat /etc/shadow |grep student
student:$6$/MbylTju$NDBbRtgSibytcLNftGvAQNKT4mQ9dUj6B.6GIDmWJeI.G6Zk6HWhnfWPeDfuCjMv2H2/dPuziVa53U8Vg82VE0:16819:0:99999:7:::
5)使用chage命令强制修改密码
chage -d
6)/etc/shadow文件student用户的第4列“0”是多少天之内不能修改密码
如果要修改使用chage -m
7)/etc/shadow文件student用户的第5列“99999”是多少天之后你必须去修改你的密码
修改使用chage -M
8)/etc/shadow文件student用户的第6列“7”密码过期的警告天数
修改使用chage -w
9)/etc/shadow文件student用户的第7列是空的,密码过期以后的一个宽限时间
修改使用chage -I
10)/etc/shadow文件student用户的第8列是空的,账号的失效时间
修改使用chage -E
11)/etc/shadow文件student用户的第9列是空的,保留的
6、练习使用usermod -L 锁定用户
1)锁定用户
[root@student ~]# usermod -L student
[root@student ~]# su strom ---切换成strom用户
[strom@student root]$ su student ---切换成student用户并输入密码
Password:
su: incorrect password
2)查看/etc/shadow下的student用户
[root@student ~]# cat /etc/shadow |grep student
student:!$6$/MbylTju$NDBbRtgSibytcLNftGvAQNKT4mQ9dUj6B.6GIDmWJeI.G6Zk6HWhnfWPeDfuCjMv2H2/dPuziVa53U8Vg82VE0:16819:0:99999:7:::
注意:这时候的SHA加密的密码前会出现一个“!”,这就是锁定了用户。
3)使用usermod -U解锁用户
[root@student ~]# usermod -U student
[root@student ~]# cat /etc/shadow |grep student
student:$6$/MbylTju$NDBbRtgSibytcLNftGvAQNKT4mQ9dUj6B.6GIDmWJeI.G6Zk6HWhnfWPeDfuCjMv2H2/dPuziVa53U8Vg82VE0:16819:0:99999:7:::
7、其他的用户信息
/etc/group ---组的信息
/etc/gshadow ---组的密码的信息
8、练习使用chage -d 将用户的最后修改密码的时间清为0
[root@student ~]# chage -d 0 student
[root@student ~]# cat /etc/shadow|grep student
student:$6$/MbylTju$NDBbRtgSibytcLNftGvAQNKT4mQ9dUj6B.6GIDmWJeI.G6Zk6HWhnfWPeDfuCjMv2H2/dPuziVa53U8Vg82VE0:0:0:99999:7:::
[strom@student ~]$ su - student
Password:
You are required to change your password immediately (root enforced)
---使用root权限立即修改密码
Changing password for student.
(current) UNIX password:
以上的好处就是当管理员分配一个新用户使用前修改密码,处于安全的考虑。
9、使用passwd命令来修改用户信息
1) passwd -S 显示用户信息
[root@student ~]# passwd -S student
student PS 2016-01-18 0 99999 7 -1 (Password set, SHA512 crypt.)
2)passwd -l锁定用户
[root@student ~]# passwd -l student
Locking password for user student.
passwd: Success
3)再次使用passwd -S 显示用户信息
[root@student ~]# passwd -S student
student LK 2016-01-18 0 99999 7 -1 (Password locked.)
4)查看/etc/shadow下的student用户密码信息
[root@student ~]# cat /etc/shadow |grep student
student:!!$6$4ts0dP6y$ddM1HLRhjlmC7OlSx7qFBlrz.SD3DlWJ14CVuyRP.z9s4OpjfDWXzf0U9 5DQVsyGWGfNeHejsGQTdmZb62Tu9/:16819:0:99999:7:::
Passwd锁定是两个“!!”
5)使用passwd -u 解除用户的信息
[root@student ~]# passwd -u student
Unlocking password for user student.
passwd: Success
[root@student ~]# cat /etc/shadow|grep student
student:$6$4ts0dP6y$ddM1HLRhjlmC7OlSx7qFBlrz.SD3DlWJ14CVuyRP.z9s4OpjfDWXzf0U95 DQVsyGWGfNeHejsGQTdmZb62Tu9/:16819:0:99999:7:::
10、使用chage -l 查看用户的信息
[root@student ~]# chage -l student
Last password change : Jan 19, 2016
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
使用chage -m 2 -M 4 -W 3 -I 5 修改用户的密码信息
[root@student ~]# chage -m 2 -M 4 -W 3 -I 5 student
[root@student ~]# chage -l student
Last password change : Jan 19, 2016
Password expires : Jan 23, 2016
Password inactive : Jan 28, 2016
Account expires : never
Minimum number of days between password change : 2
Maximum number of days between password change : 4
Number of days of warning before password expires : 3
使用student用户更改密码
[root@student ~]# su student
[student@student root]$ passwd
Changing password for user student.
Changing password for student.
(current) UNIX password:
You must wait longer to change your password
passwd: Authentication token manipulation error
必须等待更长的时间才能更改密码
更改一下时间使用命令system-config-date
[root@student ~]# su - strom
[strom@student ~]$ su - student
Password:
Warning: your password will expire in 2 days
11、修改用户的默认属性
创建出来的新用户UID是从500开始的,0~499是给系统使用的。
这是根据[root@student ~]# cat /etc/login.defs 这个配置文件来定的。
创建用户的时候会先去读取/etc/login.defs文件
12、统计账号信息
[root@student ~]# cat /etc/passwd |cut -d: -f1|sort -n