Sambaの持っている便利な機能の1つとして、WindowsクライアントからSambaの動作しているサーバに存在するユーザのホーム・ディレクトリを利用できる
機能がある。この機能を利用すれば、どのWindowsクライアントからでもSambaサーバ上の自分のホーム・ディレクトリを利用できる。
基本的な考え方として、
Windowsクライアントのユーザ名とLinux上のユーザ名は同じにしなければならない。よって、Windowsクライアントでログインするユーザは全てLinuxサーバ上にも作成しなければならない。
- Windowsクライアントにranceユーザでログイン
- Sambaサーバ上のranceユーザのホーム・ディレクトリが利用できる。
- Windowsクライアントにrinaユーザでログイン
- Sambaサーバ上のrinaユーザのホーム・ディレクトリが利用できる。
このとき、WindowsクライアントのユーザもLinux上のユーザも同じパスワードを設定しておくと、利用するたびにパスワードを入力する必要がない。
Sambaのパスワードは、Linuxユーザのパスワードとは別に管理される。そのため、ユーザ作成手順は次のようになる。
- Windowsクライアントでログインするユーザ、パスワードを調べる。(Windowsクライアント起動時に入力するユーザ名とパスワード)
- SambaがインストールされているLinuxサーバ上にWindowsクライアントと同一のユーザを作成する。
- Samba用のパスワードを設定する
ユーザ別のホーム・ディレクトリを利用するには、Sambaサーバの設定を次のように変える必要がある。
- セキュリティ(security)
- 「
USER」になっていることを確認。- パスワードを暗号化(encrypt passwords)
- WindowsXPなどでは、暗号化されたパスワードでしか認証できないため、ここを
Yesに設定。修正後、設定を保存してからSambaサーバを再起動する。
Sambaサーバを利用するユーザを作成する。例えばWindowsクライアント起動時にログインするユーザ名を「rance」、パスワードを「kingdom」とする。
Windowsクライアントと同じユーザをLinuxサーバ上に作成する。rootユーザで接続し、
useraddコマンドでユーザを作成する。
# useradd rance ←Linux用のユーザを作成
# passwd rance
New password: *******←パスワードを入力
Retype password: *******←再度パスワードを入力ホームディレクトリ「
/home/rance」が作成される。
Linuxサーバ上にユーザを作成したら、Samba用のパスワードを設定する。
# smbpassed -a rance ←SambaにLinuxユーザを追加
New SMB password: ******←パスワードを入力(Linuxユーザのバスワードと同じものを入力する)
Retype new SMB password: ******Sambaに登録済みのユーザで、パスワードを変更しない場合は「-a」オプションをつけずに実行する。
ユーザを登録したら、Windowsクライアントからホーム・ディレクトリが利用できるか確認する。WindowsクライアントからSambaサーバのアイコンをダブルクリックし、
ユーザ名の付いたフォルダが表示されれば成功。なお、WindowsクライアントをSambaサーバに存在しないユーザで起動した場合、ユーザ認証を求められる。ここで、Sambaサーバに登録済みのユーザ名、パスワードを入れれば利用できる。
現れたフォルダが、ユーザranceの
ホーム・ディレクトリであり、Linux上では/home/ranceである。このフォルダは基本的に他のユーザからは見ることができないため、ユーザの個人的な領域として利用できる。
Sambaをログオンサーバとして使い、Sambaの作ったNTドメインにログインしたWindowsからは、コントロールパネルの
[パスワード]からパスワードを変更することができる。