linux命令,系统安全相关命令--passwd
passwd命令
passwd命令的用法很多,对于初学者来说,用到的一般是修改或设置密码,我们可以通过passwd -h命令查看其基本的参数。
1 root@ubuntu:~# passwd -h 2 Usage: passwd [options] [LOGIN] 3 4 Options: 5 -a, --all report password status on all accounts 6 -d, --delete delete the password for the named account 7 -e, --expire force expire the password for the named account 8 -h, --help display this help message and exit 9 -k, --keep-tokens change password only if expired 10 -i, --inactive INACTIVE set password inactive after expiration 11 to INACTIVE 12 -l, --lock lock the password of the named account 13 -n, --mindays MIN_DAYS set minimum number of days before password 14 change to MIN_DAYS 15 -q, --quiet quiet mode 16 -r, --repository REPOSITORY change password in REPOSITORY repository 17 -S, --status report password status on the named account 18 -u, --unlock unlock the password of the named account 19 -w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS 20 -x, --maxdays MAX_DAYS set maximum number of days before password 21 change to MAX_DAYS
设置修改密码
普通用户和root用户都可以运行passwd命令,但普通用户只能更改自己的用户密码,root用户运行passwd 则可以设置或修改任何用户的密码。下面用两个例子来示范一下。
范例1,root用户给普通用户jbw设置密码:
1 root@ubuntu:~# passwd jbw
2 Enter new UNIX password: <==输入密码(123)
3 Retype new UNIX password: <==再次输入密码(123)
4 passwd: password updated successfully
5 root@ubuntu:~#
*通过root用户修改账户密码时,就算密码设置的比较简单,系统依然接受
范例2,普通用户jbw修改自己的密码:
1 root@ubuntu:~# su jbw 2 $ passwd 3 Changing password for jbw. 4 (current) UNIX password: <==原来的密码(123) 5 Enter new UNIX password: <==输入新的密码(12345) 6 Retype new UNIX password: <==再次输入新的密码(12345) 7 Bad: new password is too simple 8 Enter new UNIX password: <==输入新的密码(Qunar.6666) 9 Retype new UNIX password: <==再次输入新的密码(Qunar.6666) 10 passwd: password updated successfully
*passwd后面没有加账号,就是表示修改自己账号的密码
*与root用户不同,一般账号在修改密码时需要先输入旧密码
*一般用户设置密码比较严格,密码太短、太简单或者与账号名相同都会被拒绝修改(为了保证密码的安全性)
修改密码参数
接下来用范例介绍一下如何修改密码的相关参数
范例3,管理账号jbw,使其更改密码后的3天内不可修改密码、30天内必须修改密码,密码过期的警告日期为5天,并且密码过期10天后失效:
1 root@ubuntu:~# passwd -S jbw 2 jbw P 07/19/2015 0 99999 7 -1 3 root@ubuntu:~# passwd -n 3 -x 30 -w 5 -i 10 jbw 4 passwd: password expiry information changed. 5 root@ubuntu:~# passwd -S jbw 6 jbw P 07/19/2015 3 30 5 10 7 root@ubuntu:~#
*初始passwd -S参数解释
07/19/2015:密码新建时间
0:更改密码后可以再次修改密码的最小天数(0表示随时可以修改),用-n参数修改
99999:密码更改的99999天内需要再次修改密码,用-x参数修改
7:密码过期的警告天数为7天(密码到期之前的7天内,系统会警告用户),用-w参数修改
-1:账号失效日期(-1表示永不失效),用-i参数修改
使账号失效
有时候我们可能需要让某个账号暂时无法用密码登录主机,这时我们只要使用passwd的-l参数就行了(恢复原状用-u参数)
范例5,使账号jbw失效,查看完毕后再使其恢复原状:
1 root@ubuntu:~# passwd -S jbw 2 jbw P 07/19/2015 3 30 5 10 <== P表示账号可以正常使用 3 root@ubuntu:~# passwd -l jbw 4 passwd: password expiry information changed. 5 root@ubuntu:~# passwd -S jbw 6 jbw L 07/19/2015 3 30 5 10 <== L表示账号被锁定,账号将无法登录 7 root@ubuntu:~# passwd -u jbw 8 passwd: password expiry information changed. 9 root@ubuntu:~# passwd -S jbw 10 jbw P 07/19/2015 3 30 5 10 <== L变为P,账号再次恢复原状