●winbind gid
| ||
|
WinbindがUNIX/Linuxユーザーに割り当てるgid(グループID)の範囲を指定する。/etc/groupや/etc/passwd,およびNISの中では使用されていない範囲を指定しなければならない。
(デフォルト)winbind gid = なし
(使用例)winbind gid = 10000-20000
●winbind cache time
Winbindデーモンがユーザー情報やグループ情報をキャッシュする時間を秒単位で指定する。
(デフォルト)winbind cache time = 15
●winbind enum users
大規模システムでのユーザー一覧取得を抑制するためのオプション。デフォルトはyesだが,noにするとsetpwent(), getpwent() ,endpwent() のシステム関数で一覧が取得できなくなり,fingerなど一部のプログラムが動作しなくなることがある。
●winbind enum groups
大規模システムでのグループ一覧取得を抑制するためのオプション。デフォルトはyesだが,noにするとsetgrent(), getgrent() , endgrent()のシステム関数で一覧が取得できなくなり,一部のプログラムが動作しなくなる可能性がある。
●template homedir = /home/%D/%U
ユーザーのホーム・ディレクトリを指定するオプション。デフォルトは,/home/ドメイン名/ユーザー名となる。
●template shell = /bin/false
ユーザーのデフォルト・シェルを指定するオプション。デフォルトは,/bin/falseであるので,この場合はLinuxにtelnetやsshでログインすることはできない。ログインできるようにするには,template shell = /bin/bash などと,実存するシェル設定する。
(4)NSSWITCHの設定
該当マシンをSambaでしか利用しない場合(telnetやftpで使用しない場合)は,nsswitch.conf(ネーム情報の入手元を記述したファイル)の設定だけでWinbindが利用可能になる。具体的には,/etc/nsswitch.confの中で以下の行を探し,“files nisplus nis”を“files winbind”に変更すれば良い。なお,Winbindを動かすドメイン・メンバー・マシンが複数台ある場合にはそのすべてに設定を行う必要がある。
<変更前の例>
passwd: files nisplus nis
group: files nisplus nis
<変更後の例>
passwd: files winbind
group: files winbind
(5)PAMの設定
該当マシンをSambaでだけでなくtelnetやftpでも使用する場合は,そのマシンへの認証方法を指定するため,PAMの設定も必要である。/etc/pam.d/system-authファイルに,図3[拡大表示]のように次の2行を追加する。なお,Winbindを動かすドメイン・メンバー・マシンが複数台ある場合には,そのすべてに設定を行う必要がある。
auth sufficient /lib/security/pam_winbind.so
account sufficient /lib/security/pam_winbind.so
(6)Windows NT4.0/2000 Serverでの設定
SambaでWinbind機能を利用する(デーモンを起動する)前に,Sambaマシンをドメインに加える必要がある(必要に応じて,このWindowsサーバー・マシンをWINSサーバーやDNSサーバーにすると良い)。それには,Windowsドメインのドメイン・コントローラであるWindows NT4.0/2000 Server上の "サーバーマネージャ"(SRVMGR.EXE) を使って,SambaマシンをWindows NT WorkstatonとしてWindowsドメインに追加する(写真1[拡大表示])。このとき,ドメインに参加するすべてのWindows NT/2000/XPマシンも登録すると良い(Windows 95/98/Meを登録する必要はない)。なお,Windows2000では"サーバーマネージャ"がスタート・メニューに存在しないので,「ファイル名を指定して実行」を使ってSRVMGR.EXEを起動する。
(7)Sambaマシンのトラスト・アカウントを作成
Sambaサーバーを停止し,PDCの名前解決とpingができることを確認しておこう。例えばPDCのコンピュータ名が「DOMPDC」の場合は,ping DOMPDCが正常に実行されるかを確認すれば良い。うまくいかないときは,PDCのコンピュータ名とIPアドレスを/etc/hostsに記述するか,もしくはLIBNSS_WINS(別掲記事「libnss_winsの使用方法」を参照)を設定する。
次に,ドメインのメンバーになるすべてのSambaマシンの上で,rootユーザーになって,ドメインに参加するためのトラスト・アカウントを作成する。参加するWindowsドメインの名前が「DOMNAME」, PDCのコンピュータ名が「DOMPDC」の場合は,次のように入力すれば良い。
# service smb stop ←Sambaサーバーを停止
# smbpasswd -j DOMNAME -r DOMPDC
smbpasswd: Joined domain DOMAIN. ←成功したときに表示されるメッセージ
libnss_winsの使用方法Windows NT/2000サーバーによるドメイン構成で,Windowsマシンの名前解決にWINS(Windows Internet Name Service)を利用しているネットワークに,後からSambaサーバーをドメイン・メンバーとして追加するケースでは,Sambaマシン自体がWINSクライアントにもなれるので,Sambaマシンの名前解決は容易に実現できる。 ところが,SambaマシンをWindowsクライアントから利用する際に,Samba(Linux)マシンからWindowsクライアントの名前解決ができないと,接続が遅くなったり,telnetやftpなどがつながらないといった問題が発生することがある。 通常,UNIX/Linuxでのホスト名の名前解決にはDNS(Domain Name System)やhostsファイル,NIS(Network Information System)が使われ,WINSは参照しない。このため,LinuxのpingではWindowsマシンの名前解決ができないことが起こり得る。DNSでLinuxやWindowsサーバーを管理すれば問題ないように思えるかも知れないが,WindowsクライアントをWINSやDHCPのみで管理している場合にLinuxマシンからWindowsクライアントの名前解決ができなかったり,古いWindowsマシンではDNSによるNBT(NetBIOS over TCP/IP)による名前解決ができなかったり,ダイナミックDNSが利用ができなかったりするなど,細かい制限事項があって万全ではなかった。 libnss_winsを利用すれば,UNIX/LinuxマシンにおいてWINSによる名前解決もできるようになる。libnss_winsは,UNIX/LinuxのNSSWITCH(ネーム・サービス・スイッチ。ネーム情報の入手元を切り替える)機能を使って,UNIX/Linux上でWINSによる名前解決機能を実現するものである。Linux以外でもSolarisやHP-UXなど多くのUNIXで提供されている。 なお,WINSサーバーには,SambaマシンとWindows NT/2000サーバーだけがなれる。Windows NT/2000サーバーをWINSサーバにするには,コンポーネントの追加で「Windows Internet Service」を選べば良い(ワークステーションやWindows 9xはWINSサーバーになれない)。WINSクライアントには,Windows 95以降のすべてのWindowsマシンとSambaマシンがなれる。 libnss_winsを利用するには,/etc/nsswitch.confの中で以下のhosts行を探し,変更する。 <変更前の例> この変更により,ホストの名前解決時には,まず/etc/hostsを検索した後,DNSに問い合わせる前に,WINSに問い合わせをするようになる。 リモートのWINSサーバーのアドレスは,smb.confの中に以下のように指定する。 Sambaが動作するマシン自身をWINSサーバーとして機能させる場合は,ローカル(127.0.0.1)を参照するよう,smb.confの中に次のように指定する。 wins support = yes WINSの設定は,SambaマシンやWindowsクライアントすべてで統一しておかないと意味がない(バラバラだとトラブルの元になるので注意してほしい)。 |