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
相關文章
相關標籤/搜索