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 = yes2. 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]で検索すればたくさんヒットするはず。