名称:passwd
使用权限:所有使用者
使用方式:passwd [-k][-l] [-u [-f]] [-d] [-S] [username]
说明:用来更改使用者的密码
参数:
-k keep non-expired authentication tokens
-l关闭账号密码。效果相当于usermod -L,只有root才有权使用此项。
-u恢复账号密码。效果相当于usermod -U,同样只有root才有权使用。
-g修改组密码。gpasswd的等效命令。
-f更改由finger命令访问的用户信息。
-d关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用.
-S显示指定使用者的密码认证种类, 只有具备 root 权限的使用者方可使用.
[username]指定帐号名称.
最常用最简单的用法:passwd tom,修改tom用户密码。
扩展阅读:passwd命令简介
passwd 命令设置和更改用户密码。使用此命令更改自己或者另一个用户的密码。使用 passwd 命令也能更改与登录名关联的全名(gecos)和用来作为操作系统界面的 shell。
根据用户的定义,用户的密码可以存在于本地或远程。本地密码存在于 /etc/security/passwd 数据库中。远程密码存储在由远程域提供的数据库中。
要更改自己的密码,请输入 passwd 命令。passwd 命令提示非 root 用户输入旧密码(如果存在),然后提示输入两次新密码。(密码不显示在屏幕上。)如果两次新密码的输入不一致,passwd 命令提示重新输入新密码。
注:
passwd命令只使用密码的头八个字符作为本地和 NIS 密码。在密码中只支持 7 位字符。由于这个原因,本地语言支持(NLS)代码点不允许出现在密码中。
要更改另一个用户的密码,请输入 passwd 命令和用户的登录名(User 参数)。只有 root 用户或者安全组成员才允许更改另一个用户的密 码。passwd 命令提示输入用户的旧密码以及用户的新密码。对于本地密码,passwd 命令并不提示 root 用户输入用户旧密码或 者 root 用户密码。对于远程密码,在缺省情况下,将会提示 root 用户输入旧的密码,这样远程域就能够决定是使用该密码还是忽略它。要更改此行 为,请参阅 /usr/lib/security/methods.cfg 文件中的 rootrequiresopw 选项。passwd 命令并不对 root 用户强加任何密码限制。
/etc/passwd 文件记录全名和使用的 shell 的路径名。要更改记录名,请输入 passwd -f 命令。要更改登录 shell,请输入 passwd -s 命令。
根据密码限制,在 /etc/security/user 配置文件中构造本地定义的密码。此文件包含下列限制:
minalpha | 指定字母字符的最小数目。 |
minother | 指定其他字符的最小数目。 |
minlen | 指定字符的最小数目。 注: 此值由 minalpha 值加上 minother 值或 minlen 值中的大者。 |
mindiff | 指定出现在新密码中但没出现在旧密码中的字符的最小数。 注: 此限制并不考虑位置。如果新密码是 abcd 并且旧密码是 edcb,不同字符数就是 1。 |
maxrepeats | 指定在密码中单个字符使用的最大次数。 |
minage | 指定密码能够更改的最小寿命。密码必须保持一个最小周期。此值用周来评测。 |
maxage | 指定密码的最大寿命。密码必须在指定的周数后更改。 |
maxexpired | 指定用户可以更改密码的超出最大寿命 maxage 的最大周数。 |
histexpire | 指定用户不能重用密码的周数。 |
histsize | 指定用户不能重用的前几个密码的数目。 |
dictionlist | 指定更改密码时要检查的字典文件列表。 |
pwdchecks | 指定更改密码时要调用的外部密码限制方法的列表。 |
如果 root 用户添加了 NOCHECK 属性到在 /etc/security/passwd 文件中的标志条目中,密码就不必满足这些限制。另外,root 用户也可指定新密码给其他用户而不遵循密码的限制。
如果 root 用户在标志条目中添加了 ADMIN 属性或者如果在 /etc/passwd 文件中的 password 字段包含 *(星号),则 只有 root 用户才能更改密码。如果在 /etc/passwd 中的 password 字段包含有 !(感叹号)和在 /etc/security/passwd 文件中的 password 字段包含有 *(星号),则 root 用户拥有更改您的密码的超级特权。
如果 root 用更改您的密码,则 ADMCHG 属性就会自动地添加到在 /etc/security/passwd 文件中的标志条目上。这种情况下,您必须在下次登录时更改密码。
如果 /etc/security/user 文件中用户的 registry 值是 DCE 或者 NIS,则密码更改只能在指定的数据库中进行。
标志
-f | 更改由 finger 命令访问的用户信息。可以使用此标志提供在 /etc/passwd 文件中的全名。 |
-s | 更改登录 shell。 |
-R load_module | 指定可装入 I&A 模块,来更改用户的密码。 |
安全性
passwd 命令是支持 PAM 的带有服务名称 passwd 的应用程序。在 /etc/security/login.cfg 的 usw 节 中,通过修改 auth_type 属性值来将要使用 PAM 进行认证的系统范围配置设置为作为 root 用户的 PAM_AUTH。
启用 PAM 时使用的认证机制取决于 /etc/pam.conf 中的 passwd 服务的配置。passwd 命令需要密码模块类型的 /etc/pam.conf 条目。以下列出了 /etc/pam.conf 中 passwd 服务的建议配置。
#
# AIX passwd configuration
#
passwd password required /usr/lib/security/pam_aix
示例
要更改密码,请输入: passwd
passwd 命令提示输入旧密码,如果它存在并且您不是 root 用户。输入旧密码后,命令提示输入两次新密码。
1 要更改 /etc/passwd 文件中的全名,请输入:
passwd -f
passwd命令显示为您的用户标识存储的名称。例如,对于登录名 sam,passwd 命令能够显示以下消息: sam's current gecos:
"Sam Smith"
Change (yes) or no)? >
如果输入 Y(是),passwd 命令提示输入新名。 passwd 命令记录输入的名称到 /etc/passwd 文件中。
2 要在下次登录时使用不同的 shell,请输入:
passwd -s
passwd命令列出可用的和当前使用的 shell 的路径名。此命令也显示提示: Change (yes) or (no)? >
如果输入 Y(是),passwd 命令提示输入要使用的 shell。下次登录时系统提供在此指定的 shell。