RHELで大量のユーザパスワードを設定する。

RHELで大量のユーザを作成、初期パスワードを設定する、ということがあり、めんどうなのでシェルスクリプトでやりました。

シェルスクリプトでパスワードを設定するには chpasswd コマンドを使う。

今回は取り急ぎユーザ名とパスワードを同一のものとしたため、スクリプト自体は非常に簡単なものになりました。

なお、シェルスクリプトでパスワードを設定する場合、passwd コマンドでは、結局手入力になってしまいます。
大変便利なことに、シェルスクリプトでパスワードを設定するために(?)用意されているchpasswdというコマンドがあります。

chpasswdコマンドは、普通に実行すると入力待ちとなり、
ユーザ名:パスワード
という形式で入力するだけでたくさんのユーザのパスワードを一気に変更することができます。

[root@localhost ~]# chpasswd
user1:pass1
user2:pass2
user3:pass3

という訳で/etc/passwdからユーザを抜き出して、こんな感じで作成しました。

 #!/bin/sh
 user=`cat /etc/passwd | grep -e hoge -e piyo | awk -F":" '{print $1}'`
 
 for i in $user
 do
    echo $i":"$i | /usr/sbin/chpasswd
 done