我们知道在Linux中passwd命令是用于改变系统用户的密码,所以掌握passwd命令的活用是非常重要的一环。那么到底passwd命令的具体活用又有哪些呢?为此在本文中编程学习网笔者就为大家带来一些passwd命令的活用供大家参考参考,希望能帮助到大家。
通常情况下passwd命令如果由非root用户执行的话则会询问当前用户的密码,然后设置调用该命令的用户的新密码;如果由超级用户root执行的话就可以重新设置任何用户的密码,甚至能够在不知道当前用户密码的情况下进行重新的设置。
● passwd命令的格式语法:
# passwd {options} {user_name}
● passwd命令下我们可以使用不同的选项,下面是具体选项的列表图:
◎更改系统用户密码
● 一般来说当我们使用非root用户登录时通过运行passwd命令它会重置当前登录用户的密码。下面笔者以使用linuxtechi登录的情况作为示例给大家举例:
[linuxtechi@linuxworld ~]$ passwd
Changing password for user linuxtechi.
Changing password for linuxtechi.
(current) Unix password:
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
[linuxtechi@linuxworld ~]$
● 当我们作为root用户登录后并运行passwd命令时,在默认情况下会重新设置root的密码。如果我们在passwd命令后指定了用户名则会重置该用户的密码。
[root@linuxworld ~]# passwd
[root@linuxworld ~]# passwd linuxtechi
PS:通常系统用户的密码以加密的形式保存在/etc/shadow文件中。
◎显示密码状态信息
● 如果我们要显示用户密码的状态信息,我们可以通过在passwd命令后使用 -S 选项来解决,具体命令如下所示:
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi ps 2015-09-20 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@linuxworld ~]#
● 在上面的输出中,第一个字段表示的是显示的用户名;第二个字段表示的是显示密码状态(PS=密码设置,LK=密码锁定,NP=无密码);第三个字段表示的是显示了上次修改密码的时间;最后面四个字段分别表示的是显示了密码能更改的最小期限、最大期限,警告期限和没有使用该口令的时长。
◎显示所有账号的密码状态信息
● 如果我们为了显示所有用户密码的状态信息,我们则需要使用 “-aS” 选项在passwd命令中,具体命令示例如下所示:
root@localhost:~# passwd -Sa
(LCTT译注:不同发行版/passwd的行为不同。CentOS6.6没有测试成功但ubuntu可以。)
◎通过-d选项删除用户的密码
● 如果我们要想删除用户的密码我们可以通过使用 -d 选项来进行删除。下面笔者以删除linuxtechi用户的密码为例给大家举例:
[root@linuxworld ~]# passwd -d linuxtechi
Removing password for user linuxtechi.
passwd:Success
[root@linuxworld ~]#
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi NP 2015-09-20 0 99999 7 -1 (Empty password.)
[root@linuxworld ~]#
● 需要我们注意的地方是,“-d”选项将清空用户密码并禁用用户登录。
◎设置密码立即过期
● 在passwd命令中使用 -e 选项会立即使用户的密码过期,而且将会强制用户在下次登录时更改密码。下面是具体的设置命令:
[root@linuxworld ~]# passwd -e linuxtechi
Expiring password for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 1970-01-01 0 99999 7 -1 (Password set,SHA512 crypt.)
[root@linuxworld ~]#
● 接下来我们尝试用linuxtechi用户SSH连接到主机,具体如下图所示:
◎锁定系统用户的密码
● 通常在passwd命令中使用 -l 选项能锁定用户的密码,它会在密码的起始位置加上“!”。当他/她的密码被锁定时用户将不能更改它的密码。下面是具体的设置命令:
[root@linuxworld ~]# passwd -l linuxtechi
Locking password for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi LK 2015-09-20 0 99999 7 -1 (Password locked.)
[root@linuxworld ~]#
◎通过-u选项解锁用户密码
● 如果我们要想解锁用户密码,我们则可以通过使用 -u 选项来解决。具体的命令设置如下所示:
[root@linuxworld ~]# passwd -u linuxtechi
Unlocking password for user linuxtechi.
passwd: Success
[root@linuxworld ~]#
◎通过-i选项设置非活动时间
● 通常在passwd命令中使用-i选项用于设系统用户的非活动时间。当用户密码过期后如果用户再经过n天后没有更改其密码,那么用户将不能登录。下面笔者以linuxtechi用户为例给大家举例(试验环境为10天没有更改其密码):
[root@linuxworld ~]# passwd -i 10 linuxtechi
Adjusting aging data for user linuxtechi.
passwd: Success
[root@linuxworld ~]#
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 0 99999 7 10 (Password set, SHA512 crypt.)
[root@linuxworld ~]#
◎通过-n选项设置密码更改的最短时间
● 如果我们要想设置密码更改的最短时间,我们则可以通过使用-n选项来设置。下面笔者通过使用linuxtechi用户设置必须在90天内更改密码。如果把90改为0则表示用户可以在任何时候更改它的密码:
[root@linuxworld ~]# passwd -n 90 linuxtechi
Adjusting aging data for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 90 99999 7 10 (Password set, SHA512 crypt.)
[root@linuxworld ~]#
◎通过-w选项设置密码过期前的警告期限
● 通常 -w 选项在passwd命令中用于设置用户的警告期限。换句话说就是n天之后用户密码将过期。下面是具体的命令设置:
[root@linuxworld ~]# passwd -w 12 linuxtechi
Adjusting aging data for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 90 99999 12 10 (Password set, SHA512 crypt.)
[root@linuxworld ~]#
以上就是passwd命令的活用的介绍。
本次的Linux学堂之passwd命令的活用的讲解到此就暂告一段落,如果以后有什么相关的内容继续进行补充或者修改的话,笔者会在此继续进行相关的内容的补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的讲解对大家学习Linux和Linux认证能够起到一定的帮助作用!