(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)

Sambaのユーザー管理

表1●各ユーザー管理方法での基本的な管理コマンド
表2●ユーザー追加を中心とする主要コマンド

 security = shareでは,共有ごとにユーザーとパスワードを管理すれば済むのでユーザー管理の負担は軽い。また,security = domainの場合は,Windowsドメイン・コントローラ側でユーザー管理を行えばよい。

 今回は,security=userでのユーザー管理について詳しく解説していく。security=userでは,他のパラメータやコンパイル・オプションの指定によって,選択できるユーザー管理方法に差が生じる。なお,各ユーザー管理方法での基本的な管理コマンドを表1[拡大表示]に,ユーザー追加を中心とする主要コマンドを表2[拡大表示]にまとめて示したので参照していただきたい。

(1)デフォルトのコンパイル・オプションでモジュールを作成し,smb.confにencrypt password = noとした場合に選択できるユーザー管理方法は次の通り(NISとLDAPを使用するときはネームサービス・スイッチ(/etc/nsswitch.conf)とPAM(/etc/pam.d/system-auth)の設定も必要になる)。

●/etc/passwdファイルのみでのユーザー管理

●NIS(またはNIS+)によるユーザー管理

●LDAPによるユーザー管理

 管理負荷の面では,Sambaの暗号化パスワード(/etc/samba/smbpasswd)を別途管理する必要がないので楽ではあるが,Windowsクライアントが平文パスワードを送信するようにレジストリを設定する必要があるので,前述した理由からこの方法は推奨できない。

(2)デフォルトのコンパイル・オプションでモジュールを作成し,smb.confにencrypt password = YESとした場合に選択できるユーザー管理方法は次の通り(NISを使用するときはネームサービス・スイッチ(/etc/nsswitch.conf)とPAM(/etc/pam.d/system-auth)の設定も必要になる)。

●/etc/passwdファイルとsmbpasswdによるユーザー管理

●NIS(またはNIS+)とsmbpasswdによるユーザー管理

 この場合は,(1)に示したユーザー管理に加え,smbpasswdによるユーザー管理もしなければならない。例えば,ユーザーを追加する場合は,useraddコマンドに加え,smbpasswdコマンドも利用する必要がある。また,パスワード設定もOS(TELNETやFTP)のパスワードはpasswdコマンドで,Sambaのパスワード設定はsmbpasswdコマンドで行わなければならない。

(例)Linux/Sambaユーザーyamadaの追加
useradd yamada
smbpasswd -a yamada
(例)Linux/Sambaユーザーyamadaのパスワード設定
passwd yamada
smbpasswd yamada

 2種類のコマンドを使わなければならないのは大変面倒な作業ではあるが,これが従来からのSambaの標準的なユーザー管理方法である。

(3)with-ldapsamコンパイル・オプション付きでモジュールを作成し,smb.confにencrypt password = YESとした場合は,ネームサービス・スイッチ(/etc/nsswitch.conf)とPAM(/etc/pam.d/system-auth)の設定により,LDAPを使ったユーザー管理方法を選択できる。

 このケースでは,表1[拡大表示]に示したsmbldap-toolsコマンドだけでユーザー管理を行える。これを使うとLinuxユーザーとSambaユーザーのパスワードを区別することなく,一元的に管理できる。

(ミラクル・リナックス 小田切 耕司)


(次回に続く)