Samba3からLDAP※をつかって管理が出来るようになっていますが、利用の限定される小規模ネットワークには、かえって手間なのでここではSambaパスワードを使います。
※OpenLDAP
LDAPサービスを導入することでLinux Sambaのアカウントを一元管理することが出来ます。これにより、管理負担を軽減する事も出来ます。SambaとLinuxアカウントを同期させる方法は用意されていますが、これとは異なります。
アカウントはLinuxのユーザーアカウントを利用するようになっていますが、パスワードはSamba専用のパスワードを指定できます。 Sambaサービスを提供するユーザーを作成するには、まずLinuxユーザーを作成します。ログインシェルは与えないようにします。
以下のコマンドで既存のlinuxアカウントを変換します。
/etc/samba/smbpasswd が生成され、sambapasswdをみると Linuxユーザー分の以下の記述があります。
sazae:835:XXXXXXX~省略~XXXXXXXX:[UD ]:LCT-00000000:
次にSamba用のパスワードを設定します。 上記sambapasswdファイルに記述されたユーザー つまり、アカウントを持つユーザーに対してパスワードを発行します。Linuxパスワード(/etc/passwd)と同じである必要はありません。
# smbpasswd 存在するLinuxユーザー名
New SMB password: **********
Retype SMB password: **********
再度、/etc/samba/smbpasswd を開くとパスワードが発行されていることが確認できます。
sazae:805:BF452D57A20~省略~7785C46F:[U ]:LCT-31BXS880:
root以外が読めないようにパーミッションを変更します。
[ 注 意 ]
Windows 98/NT/2000の場合、Windowsの資源(ユーザーとパスワード)を完全に一致させないと接続出来ません。(ネットワークフォルダのショートカットを作成し別アカウントで開くことは出来たりしますが、、) Windowsにログオンするユーザー名、パスワードと一致させておく必要があるので、ここで紹介している方法では、サービスを提供するクライアントと事前にすり合わせておく必要があります。 XPでは、設定した自由なアカウント、パスワードで接続できました。
補足 2005/02/15
Windows2000 SP4 5.00.2195 で試したところ異なるIDで接続する事が出来る事に気が付きました。何時からか分かりませんが資源が一致しなくても接続できる?ようです。
アカウントの管理は以下の様に行います。
アクセスを禁止する場合
# smbpasswd -d 存在するLinuxユーザー名
アクセスを許可する場合
# smbpasswd -e 存在するLinuxユーザー名
ブラウザからSambaのアカウントを管理する方法では、Webminが便利です。サーバーの設定にはお奨めできませんが、、(設定ファイルをぶち壊してくれます)
ブラウザ経由でコマンドを実行するようなケースでは、それなりに使えるかもしれません。