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