AIX 批量更改密碼


使用 chpasswd

可以使用 chpasswd 方便地更改單個或多個賬戶密碼。這意味着不需要像平時一樣在命令行上重復輸入密碼。盡管可以以交互方式使用 chpasswd,但是我建議以非交互方式使用它。使用 chpasswd 是一種快速更改密碼的方法。

使用 chpasswd 的格式是:

chpasswd  -f <pwdadm flags> -c

其中:
-f 可以解析 pwdadm 標志 
-c 清除密碼標志

從標准輸入讀取以下格式的用戶名和密碼:

user_name:user_password

我將演示使用 chpasswd 為這些用戶設置初始密碼的兩種方法。在下面的示例中,在命令行上回顯用戶名 alpha 和密碼 mypasswd,然后通過管道連接到 chpasswd:

echo "alpha:mypasswd" | chpasswd

現在,通過 pwdadm 查詢用戶 alpha,可以看到已經設置了標志值 ADMCHG,這是重新設置密碼時 chpasswd 的默認設置:

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

ADMCHG 表示當用戶 alpha 下一次嘗試用設置的初始密碼 (mypasswd) 登錄時,會強迫用戶 alpha 更改密碼。這也適用於設置了 ADMCHG 標志的其他賬戶。

還可以用保存在文件中的信息更改密碼。例如,考慮 pass 文件中的以下內容:

# cat pass
bravo:bravpass
charlie:charpass

在前面的 pass 文件中,用戶 bravo 將把密碼改為 bravpass,用戶 charlie 將把密碼改為 charpass。要想執行密碼更改,只需對這個文件執行 cat 並通過管道連接到 chpasswd,如下所示:

# cat pass | chpasswd

還可以把文件重定向到 chpasswd 進行處理。在這個示例中,通過指定 'c-' 選項(清除密碼標志),指定用戶 bravo 和 charlie 不必更改密碼,如下所示:

# 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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM