AIX 批量更改密码

使用 chpasswd

可使用 chpasswd 方便地更改单个或多个帐户密码。这意味着不须要像平时同样在命令行上重复输入密码。尽管能够以交互方式使用 chpasswd,可是我建议以非交互方式使用它。使用 chpasswd 是一种快速更改密码的方法。html

使用 chpasswd 的格式是:linux

chpasswd  -f <pwdadm flags> -c

其中:
-f 能够解析 pwdadm 标志 
-c 清除密码标志命令行

从标准输入读取如下格式的用户名和密码:code

user_name:user_password

我将演示使用 chpasswd 为这些用户设置初始密码的两种方法。在下面的示例中,在命令行上回显用户名 alpha 和密码 mypasswd,而后经过管道链接到 chpasswd:htm

echo "alpha:mypasswd" | chpasswd

如今,经过 pwdadm 查询用户 alpha,能够看到已经设置了标志值 ADMCHG,这是从新设置密码时 chpasswd 的默认设置:blog

# pwdadm -q alpha
alpha:
        lastupdate = 1265765265
        flags = ADMCHG

ADMCHG 表示当用户 alpha 下一次尝试用设置的初始密码 (mypasswd) 登陆时,会强迫用户 alpha 更改密码。这也适用于设置了 ADMCHG 标志的其余帐户。it

还能够用保存在文件中的信息更改密码。例如,考虑 pass 文件中的如下内容:io

# cat pass
bravo:bravpass
charlie:charpass

在前面的 pass 文件中,用户 bravo 将把密码改成 bravpass,用户 charlie 将把密码改成 charpass。要想执行密码更改,只需对这个文件执行 cat 并经过管道链接到 chpasswd,以下所示:ast

# cat pass | chpasswd

还能够把文件重定向到 chpasswd 进行处理。在这个示例中,经过指定 'c-' 选项(清除密码标志),指定用户 bravo 和 charlie 没必要更改密码,以下所示:class

# chpasswd -c < pass

使用 pwdadm 查询用户 charlie,会产生如下输出:

# pwdadm -q charlie
charlie:
        lastupdate = 1265853052

注意 chpasswd 命令中的清除标志选项;它清除字段中的全部标志值。

pwdadm 输出中的 lastupdate 值表示最近设置或更改密码的时间。以秒为单位的 UTC 时间戳须要转换为更有意义的日期时间戳。

下面两个命令都返回最近更新或初始设置密码的时间(若是有密码的话)。在这个示例中,查询用户 alpha 最近的密码更新:

# lssec -f /etc/security/passwd -s alpha -a lastupdate
alpha lastupdate=1265940457

# pwdadm -q alpha
alpha:
       lastupdate = 1265940457
       flags = ADMCHG

可使用 perl 或 gawk 把 UTC 转换为日期时间戳,下面两个示例产生相同的结果:

# perl -e 'use POSIX;print ctime(1265940457)'
Thu Feb 11 20:07:37 2010


# gawk 'BEGIN {print strftime("%c",1265940457)}'
Thu Feb 11 20:07:37 GMT 2010

官方地址:http://www.ibm.com/developerworks/cn/aix/library/au-chpasspwgen.html

redhat linux 更改密码:echo "NewPasswd" | passwd --stdin username
相关文章
相关标签/搜索