俺だけのために Ore! Tips!

FreeBSD 3.4-R への国際版 DES の導入

2000年06月16日 作業

TurboLinux のサーバから、FreeBSD 3.4-R のサーバにユーザー情報を移してこなくてはいけなかったが、FreeBSD で採用されている暗号化形式が MD5 であり、そのまま shadow ファイルのパスワード部分をコピー&ペーストしても駄目だったので、Linux で採用されている国際化 DES を FreeBSD に導入した。

でも、これって FreeBSD 3.X-R までの話で、今(2004/5 現在)の、FreeBSD 4.X-R や 5.X-R では、MD5 も DES もどっちもディフォルトでインストールされるよね?

つーことで、今は役に立たなくなった導入記ですが、一応これも過去の遺産ということで。(以下の文章は 2000年当時のままです)



国際版 DES の導入

いやあ、Linux で動いているサーバを FreeBSD で再構築することにしたのですが、FreeBSD は MD5 形式、Linux は国際版(詳しく知らないけど、多分米国版に比べて暗号化後の桁数が少ないのであろうよ)DES 形式でユーザーパスワードが暗号化されています。
ということで、現在 Linux に登録されているユーザーの情報(パスワード)が、そのままでは FreeBSD に移行出来ませんな。(全ユーザーに新しくパスワードを振り直してもらう必要がある。現実的ではないですな。)
そこで、FreeBSD に DES を導入してみました・・・が・・・楽勝でした。:-)

/stand/sysinstall で、
5 Configure Do post-install configuration of FreeBSD
 ↓
D Distributions Install additional distribution sets
と進み、「Select the distributions you wish to install.メニュー」で、
DES DES encryption code - NOT FOR EXPORT!
を選択。
続いて「Select the encryption facilities you wish to install.メニュー」で
des Basic DES encryption services
を選んでインストールを実行すれば、ものの2〜3秒で DES が導入されます。
(もちろん、まともな CD からインストールしたので、国際版 DES です。)

試しに destest というユーザーを adduser で作ってみます。
/etc/master.passwd に、destest のエントリが出来ています。

destest:tAv2Hsdqx1x4k:1002:2001::0:0:DES TEST:/home/destest:/bin/csh

おお、$1$ で始まらない DES 形式の暗号化が行われているではないですか。(MD5 形式だと、必ず頭は $1$ で始まる。例えば「$1$ACLbfrcW$fLVMcGM4ZNpGmI.li4uLl.」という具合に)

試しに、Linux の shadow ファイル(FreeBSD の master.passwd に相当)から暗号化後のパスワードを master.passwd にコピー&ペーストしてみました。

destest:jYQOQq6NJZQhE:1002:2001::0:0:DES TEST:/home/masanori:/bin/csh

直接、master.passwd を編集した場合は、pwd_mkdb コマンドを実行しないと新しいパスワードが反映しません。早速実行。

mikan# pwd_mkdb -p /etc/master.passwd

これで、新しいパスワードが有効になります。
試しに、destest でログインしてみると、Linux に登録していたパスワードでログイン出来ました。

これで、Linux → FreeBSD への移行もバッチリです。
(多分、Solaris(国内)からも、FreeBSD に DES を入れることでパスワードが移行可能なのだろうなあ)

前ページに戻る


Copyright (C) 2003-2004 S.Maaasamasa.