Linux的passwd实用命令示例
【文章来自:无忧天使】

       正如 passwd 命令的名称所示,其用于改变系统用户的密码。如果 passwd 命令由非 root 用户执行,那么它会询问当前用户的密码,然后设置调用该命令的用户的新密码。当此命令由超级用户 root 执行的话,就可以重新设置任何用户的密码,包括不知道当前密码的用户。

在这篇文章中,我们将用实例来介绍 passwd 命令。

语法:

# passwd {options} {user_name} 

可以在 passwd 命令使用不同的选项,列表如下:

例1:更改系统用户的密码

当你使用非 root 用户登录时,比如我使用 ‘linuxtechi’ 登录的情况下,运行 passwd 命令它会重置当前登录用户的密码。

[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 

注意:系统用户的密码以加密的形式保存在 /etc/shadow 文件中。

例2:显示密码状态信息

要显示用户密码的状态信息,请在 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 = 无密码),第三个字段显示了上次修改密码的时间,后面四个字段分别显示了密码能更改的最小期限和最大期限,警告期限和没有使用该口令的时长。

例3:显示所有账号的密码状态信息

为了显示所有用户密码的状态信息需要使用 “-aS”选项在passwd 命令中,示例如下所示:

root@localhost:~# passwd -Sa 

(LCTT译注:不同发行版/passwd 的行为不同。CentOS6.6 没有测试成功,但 Ubuntu 可以。)