数十人や数百人のパスワードを手動でセットするのすごくまんどくさかったので、簡単なパスワードセットスクリプトを作ってみました。
■スクリプト使用条件
1./home直下にホームディレクトリ名=登録されているユーザ名であること
2.http://www.kurobuti.com/blog/?p=1695からパスワードを自動生成するスクリプトを「passwd.sh」で作成し実行権限を与える。
3.「passwd.sh」と同じディレクトリに以下のスクリプト本体を保存する。
■スクリプト本体(set_passwd.sh)
[root@test ~]# vi set_passwd.sh #!/bin/sh HOME=`pwd` NUM=`ls -l /home/ | grep -v root | sed "1d" | wc -l` for (( i = 1; i <= $NUM; i++ )) { PASSWD=`$HOME/passwd.sh` USERNAME=`ls -l /home | grep -v root | sed "1d" | sed -n "$i"p | awk '{print $3}'` echo $PASSWD | passwd --stdin $USERNAME echo "$USERNAME $PASSWD" >> $HOME/result.txt }
■実行例
[root@test ~]# ls -l /home/ | sed "1d" | awk '{print $3}' | sort -k 1.5 -n user1 user2 user3 user4 user5 user6 user7 user8 user9 user10 user11 ・ ・ ・ [root@test ~]# ./set_passwd.sh Changing password for user testuser. passwd: all authentication tokens updated successfully. Changing password for user user1. passwd: all authentication tokens updated successfully. Changing password for user user10. passwd: all authentication tokens updated successfully. Changing password for user user11. passwd: all authentication tokens updated successfully. Changing password for user user12. passwd: all authentication tokens updated successfully. Changing password for user user13. passwd: all authentication tokens updated successfully. Changing password for user user14. passwd: all authentication tokens updated successfully. Changing password for user user15. passwd: all authentication tokens updated successfully. Changing password for user user16. passwd: all authentication tokens updated successfully. ・ ・ ・
結果は、「result.txt」に出力されます。
■結果
[root@test ~]# sort -k 1.5 -n result.txt user1 naTA;n(E user2 p3.P`"<F user3 |tA`sc?m user4 #6*iJ`B} user5 uu{yc#,+ user6 ,gO0_.5! user7 P4~oDm]a ・ ・ ・
見方は、ユーザ名[TAB]セットされたパスワードです。
パスワードはランダム8文字がセットされます。少し改良すれば、文字数が設定できます。
ちなみに、1.の条件に当てはまらない場合やホームディレクトリが違う場所にある場合は、以下のようなユーザリストを作成します。
■ユーザリスト
[root@test ~]# vi userlist user1 user2 user3 ・ ・ ・
スクリプトのを修正します。
■スクリプト修正
#!/bin/sh HOME=`pwd` NUM=`wc -l $HOME/userlist | awk '{print $1}'` for (( i = 1; i <= $NUM; i++ )) { PASSWD=`$HOME/passwd.sh` USERNAME=`sed -n "$i"p $HOME/userlist` echo $PASSWD | passwd --stdin $USERNAME echo "$USERNAME $PASSWD" >> $HOME/result.txt }
今回は自分で作っちゃいましたが、パスワードをセットする便利なツールってあるのかな~。
簡単なパスワードセックスクリプトいいにゃん
>Ta imo
しばらく下ネタと言う事に気づかなかったおww
たいもん作ってにゃん