[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:02257] Re:how to produce passwd
曽根@鳴門教育大学です。
>>>>> "K" == Kikutani Makoto <kikutani@xxxxxxxxxxxxxxx> writes:
K> きくたにです。
K> 小規模Linuxシステムのインストーラを書いてるのですが、
K> ユーザを追加する方法がわかりません。
K> つまり、ユーザ名とパスワードを入力させて、それに対応するpasswdファイル
K> 生成したいのですが、passwdコマンドじゃ今のシステムの/etc/passwd書き
K> 換えちゃうのでまずいです。
K> passwdコマンドと同じに暗号化されたパスワードを生成する方法はありますか?
perlを使えばcrypt()で平文のパスワードを暗号できるので、あとは適当な
saltを選ぶだけです。パスワードの暗号化を行なうサブルーチンは、これでい
いと思います。
sub MakePassword{
local($Password) = @_;
# From: nem@xxxxxxxxxxxxxxxxxxxxxxxxxx (Nem W Schlecht)
# Newsgroups: comp.lang.perl.misc
# Subject: Re: Creating Salt for Crypt
# Date: Fri, 29 Mar 1996 07:49:18 JST
# Organization: North Dakota Higher Education Computing Network
# Message-ID: <4jf51e$jvc@xxxxxxxxxxxxxxxxxxxxxxxxxx>
#
#srand($$^time); # random seed
@saltchars=(a..z,A..Z,0..9,'.','/'); # valid salt chars
$salt=$saltchars[int(rand($#saltchars+1))]; # first random salt char
$salt.=$saltchars[int(rand($#saltchars+1))]; # add second random salt char
return crypt($Password,$salt);
}