名称: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。