それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Linux ユーザーを一括登録&一括パスワード設定

Linuxでまとめて50人くらいのユーザーを作る必要があった。ユーザーを作るまでは簡単だった、だけど、パスワード設定が面倒。余りに面倒だったのでメモをすることにしました。

パスワードを一括で設定する

先にユーザーの一欄を作る

users.txt
takuya
masanori
daichi
yoshihiko

ユーザーと初期パスワードの一覧を作る

for u in `cat users.txt`; do echo $u:`/usr/bin/mkpasswd` ; done > out.txt

一覧出来た

out.txt
takuya:x0=Cy8tzW
masanori:9EalnhX]6
daichi:q8OwV'n8p
yoshihiko:1u”FyigT6

区切り文字は : です。

まとめて、パスワードを登録する

sudo chpasswd < out.txt

同じファイルを使えば、新規一括登録することが出来る。

sudo newusers < out.txt

注意点1

mkpasswd は Debian / CentOS は同名の別コマンド。

思い切り引っかかった。debian の mkpasswd と CentOSのmkpasswd は別物です。

Debianの場合

mkpasswd.plを使う

Debianの場合のインストール
apt-get install libstring-mkpasswd-perl

CentOSの場合

expect 同梱のmkpasswd をつ使う

centos の場合のインストール
yum install expect

注意点2

useradd をシェルスクリプトでやっちゃうとあとで面倒だった。

その他の方法

shadow を直接書き換える。
僕は別に気にしないけど、何か合った時に困るので自動実行はやめようね

crypt で暗号化したパスワードがあれば、そのまま/etc/shadow に書き込んだらいい!

echo "PAssWoRd" | mkpasswd -s -m md5

Debianの場合は、これでシャドウパスワードを作ることが出来る


パスワードファイルはアレコレ面倒なのでLDAPかADで認証共有しちゃうのがいいかもね