lennyでパスワードを一括変換 | 雲の上はいつも青空

雲の上はいつも青空

不思議な経歴をもつエンジニア!?の徒然なブログです。
お仕事関係の話が多いと思いますが、コメントとかもらえると中の人はとても喜びます(^O^)/

パスワードの一括変換についての備忘録です。
→これはdebian GNU 5.0 lennyと、Windowsマシンを使うという前提です。

やり方のダイジェスト!
---------------------------------
1. ls /home > a1.txt または ls /var/spool/mail > a1.txt で、登録ユーザの一覧をテキストファイルにする。
2. テキストファイルをエクセルに展開。たて一列にユーザ名が並ぶ。
3. パスワードを変更したいユーザだけを残して残りは削除。
4. ここへ行ってパスワードを人数分作る(桁数は15程度)。
5. 出来上がったパスワードをエクセルのユーザ名の隣へコピペ。
6. 内容を確認してcsv形式で保存。
7. このcsvファイルをwordpadで開く←notepadではありません!
8. 『置換』で『,』カンマをすべて『:』コロンへ一括置換する。
9. a2.txt と、text形式で保存。→Linuxマシンへコピー。
10. nkf -Lu a2.txt > a3.txt  行末コードをCRLFからLFにする。
11. /etc/login.defs を開き、#MD5_CRYPT_ENAB no のコメントアウトをはずし、yes に直す。
12. 一度ログアウトして再度ログイン、su -root へ。
13. chpasswd < a3.txt  【一括でパスワードが変更される】
14. いくつか新しいパスワードでログインできるかチェックする。

※chpasswdはデフォルトでは暗号化ロジックがDESなので、8文字以上のパスワードは使えません。
11の操作でMD5を使うようにするとこの制限はなくなります。
※正確に書くとDESの場合、8文字以上パスワードを設定しても、8文字分しかチェックされません。
 つまり、12345678abcと12345678xxyは同じものと扱われてしまいます。