/etc/shadowの文字列生成(useraddを使用したスクリプトで使用)
最近のlinuxのパスワード(/etc/shadow)はMD5がデフォルトらしい。
useraddの"-p"オプションにはパスワード文字列ではなく、/etc/shadowに埋め込む暗号化された文字列を指定しないといけないようだ。
また、その暗号化された文字列はMD5の場合"$1$"からはじまり、saltが8文字、再度"$"で、その後、残り22文字がMD5で生成されたものとなっており、通常のMD5チェックサムとはちょっと違う。
そこで、その文字列を生成するために、opensslコマンドを使用した。
usage() { echo "usage: $0 username UID password" >&2 exit 1 } if [ $# -ne 3 ]; then usage; fi CRYPT=`openssl passwd -1 $3` echo "useradd -c 'ftp user' -d /home/$1 -g users -m -k /home/myskel -p $CRYPT -s /bin/true -u $2 $1" useradd -c 'ftp user' -d /home/$1 -g users -m -k /home/myskel -p $CRYPT -s /bin/true -u $2 $1 chmod 755 /home/$1