Windows98の暗号化パスワード

1999.12.31

 Windows95は,平文パスワード(Plain Text Password)でパスワードを送信しているので,UNIX側の/etc/passwdを使って認証ができる。しかし,Windows98・WindowsNT4.0・Winodws2000では暗号化パスワード(Encrypt Password)を使用するため,そのままではsambaの認証ができない(UNIX側の/etc/passwdでは認証できない)。従ってWindows95・98が混在するネットワークにおいて,パスワードをどちらかに統一する必要がある。暗号化パスワードに統一する場合はsambaに暗号化パスワードを,平文パスワードに統一する場合はWindows98に平文パスワードを理解させる。(sambaに暗号化パスワードを理解させても,Windows95の平文パスワードはそのまま利用できる。原因は不明。)
 ここでは,クライアント側の手間やセキュリティの問題を考え,sambaに暗号化パスワードを組み込むことにする。使用しているバージョンは「Debian-JP 2.1」「samba 2.0.5」である。


1. smb.confの編集

[grobal]に以下の2行を書き加える。

security = user
encrypt passwd = yes

2. samba用パスワードファイル(smbpasswd)をつくる

/usr/sbin/mksmbpasswd(/etc/passwd から smbpasswdを作成するスクリプト)を利用してsmbpasswdを作成する。

# cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd

/etc/samba/smbpasswd は以下のような内容になる。

username:uid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:
[U          ]:LCT-00000000:name,,,

3. samba用パスワードの設定

Windowsにログオンする時と同じユーザー名をadduserコマンドで作成する。この時のパスワードはどんなパスワードでも構わないが,samba用パスワードはWindowsにログオンする時と同じパスワードを使用しなければならない。

# adduser username(Windowsログオン時のユーザー名)
New password;
Retype new password;
# smbpasswd username
New SMB password;(Windowsログオン時のパスワード)
Retype new SMB password;(Windowsログオン時のパスワード)
Password changed
#

各ユーザーはsambaがインストールされているUnixにログインし,smbpasswdコマンドを実行することでパスワードを変更することができる。 ここでもWindowsログオン時のパスワードと同じパスワードを使うことに注意する。

$ smbpasswd
Old SMb password;
New SMB password;(Windowsログオン時のパスワード)
Retype new SMB password;(Windowsログオン時のパスワード)
Password changed
$


 mksmbpasswdスクリプトで/etc/samba/smbpasswdを作成するが,/etc/samba/smbpasswdのuidが/etc/passwdと異なるときが一回あった。そのときはviエディタなので手動でuidを書き換える必要がある。しかし,これでは多数のユーザーを抱えるLANでは大変な労力になる。そのようなときは他の方法がWeb上に多数紹介されているので,そちらを参照して欲しい。[smbpasswd]で検索すればたくさんヒットするはず。