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
passwd参数
设置修改密码
普通用户和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,账号再次恢复原状