|
日本 Samba ユーザ会 (Samba Users Group Japan)
Samba 2.2とLinux (Kernel 2.4) によるWindowsネットワーク構築ガイド<Samba使いこなしテクニック(応用編)>◎ユーザホーム機能の使い方共有の表示時に、クライアントのユーザ名を共有名としてマッピングして表示する機能だ。 たとえば、yamadaというアカウントでSambaマシンをアクセス(ネットワーク・コンピュータをクリック)した場合、UNIX上の/home/yamadaが共有名yamadaとして表示され、また、suzukiというアカウントでSambaマシンをアクセス(ネットワーク・コンピュータをクリック)した場合はUNIX上の/home/suzukiが共有名suzukiとして表示される。 これによってユーザごとの専用のディレクトリを提供し、他人のディレクトリをアクセスするのが防げる。 ●smb.conf設定例SWATの「全体設定」で[global]を設定し、「共有設定」でhomesという共有を作成する。
◎SambaをWinodwsドメインに加える
Windows ドメインがすでに存在する場合、Samba は,Windows NT / 2000 Workstation のようにWindowsドメインに参加することが可能だ。 ●Windowsドメインへの参加方法まず準備として Windows NT/2000 Serverの "サーバマネージャ"(srvmgr.exe) を使ってSambaマシンをWindows NT WorkstatonとしてWindowsドメインに追加する。 その後 Samba マシン上でドメイン参加の手続きを行なう。 参加するWindowsドメインの名前が DOMNAME , PDC(プライマリ・ドメイン・コントローラ) のコンピュータ名が DOMPDC の場合の方法は以下の通りだ。
事前に忘れずに Samba サーバを停止させること。
また、-r オプションでは、必ず PDC のコンピュータ名(上記の例では DOMPDC)で PDC
を指定する必要がある。 これを確認したら、以下のように security パラメータを DOMAIN にして、Samba サーバを起動する。 ●SWATで設定するsmb.confの内容
●add user script と del user script を設定するSamba サーバをWindowsドメインのメンバにしたことで、Windowsドメインにログオンしたユーザであれば Samba サーバにもシームレスにアクセスできるようになる。
そこで更に一歩進んで、Samba サーバ上でのアカウントのメンテナンスを自動化する方法を解説する。 スクリプト( /usr/local/sbin/smb-useradd.sh ) の例
スクリプト( /usr/local/sbin/smb-userdel.sh ) の例
次にSWATでsmb.confに、以下の、add user script と del user script パラメータを設定する。 smb.confの設定
これで、Windows ドメインにアカウントがあるが、Samba サーバにはアカウントがないユーザで Windows ドメインにログオン後、Samba サーバにアクセスすると、自動的ユーザが登録されホームディレクトリが表示される。 add user script を設定すると、Windowsドメインで認証されているにも関わらず、Samba サーバに存在しないユーザでアクセスがあったときに、add user script で指定したスクリプトを実行してユーザを自動的に作成することが出来るのだ。 del user script は、同様にユーザがWindowsドメインに存在しなくなったときに自動的に消去するためのスクリプトだ。 これらを活用することで、Windowsドメイン上でのユーザの追加/ 削除のみで、Samba サーバ上に自動でユーザの作成/ 削除を行なうが可能になり、管理コストが大幅に削減される。 ◎SambaによるWindowsドメインコントローラの構築Samba 2.2はWinodwsドメインコントローラとして機能することが可能になっている。 ●SambaをWinodwsドメインコントローラとして設定するまず、SWATの「全体設定」で smb.conf を設定して下さい。
次に「共有設定」で[netlogon]共有を作成し、以下のように設定する。
動作確認のために、Windows クライアント上で 以下のようなログオンスクリプトを記述し,Samba サーバの [netlogon] 共有にユーザ名.batという名前で配置しておく。
●Windows 95 / 98 / Me クライアントの設定Windows 9x / Meクライアントの側では,[コントロールパネル] - [ネットワーク]- [Microsoft ネットワーククライアント] のプロパティを以下のように設定する。
また Windowsドメインでの設定と同様に、[コントロールパネル] -[パスワード] の"ユーザ別の設定" タブで,以下のように,ユーザ別の設定" をチェックしておくことで、ユーザプロファイルの利用も可能になる。
●Windows NT / 2000 / XPの設定Windows 9x / Meはドメイン・ログオンするのにSamba PDC上で何も設定が必要ないが、SambaとWindows NT/2000/XPをドメイン・メンバに加える場合は、PDCマシンの上でドメイン・メンバ・マシンのマシンアカウントを作成する必要がある。
PDCマシン上でrootになり、以下を実行する必要がある。
上記は、1度だけ実行し、rootのパスワードを設定する。 Windowsのadministratorから管理をしたい場合は、このユーザも以下のように追加した方が良いだろう。
Sambaのユーザ・アカウントは英大文字は使用せず、英子文字、数字のみで15バイト以下とすること。(日本語も使用不可) そして、マシン・アカウント用のグループも作成した方がいいだろう。
以下はドメイン・メンバのマシン分実行する。
useraddの時、マシン名の後に$をつけたものをLinuxユーザとして登録する必要があるので気をつけて欲しい。 Windows NT/2000/XP上では以下の作業を行う。 (1) Administratorとしてログオンする。 (2) コントロールパネルの「システム」のプロパティを起動し、「ネットワークID」タブの「ネットワークID」のボタンを押す。
(3) 「ユーザアカウントとドメイン情報」の入力で、Samba PDCで設定したrootユーザとrootのパスワード、ドメイン名を入力する。
(4) 「ドメインへようこそ」というダイアログが表示されることを確認する。 (5) Windows XP Professionalの場合、以下の設定を変更しないとドメインログオンできない。 「コントロールパネル」の「管理ツール」から「ローカル セキュリティ ポリシー」を起動し、「ローカル ポリシー」の「セキュリティ」オプションにおいて、「ドメイン メンバ:常にセキュリティ チャネルのデータをデジタル的に暗号化または署名する」を「無効」にする。 これでWindows 2000と同等のレベルになり、問題なくSambaドメインログインできる。 ●ドメインログオン
設定を行なったら、Windows クライアントをリブートし、設定したWindowsドメインにログオンする。 Samba サーバが複数台ある時は、一台のサーバをWindowsドメインコントローラとして設定し、残りのサーバは security パラメータを domain にして、認証サーバとしてドメインコントローラの Samba サーバを指定すれば、Windows ドメイン環境のように、一度認証を受ければ、すべての Samba サーバにアクセスできるようになる。 ◎LinuxからWindowsファイルシステムを使用する(smbmount機能)Sambaを使ってWindowsの共有フォルダをLinuxのファイルシステムとしてマウントすることが出来る。 使用方法)
例)Windows共有 \\odagirixp01\shareddocs にユーザ名Administrator パスワードmiracle で接続し、Linuxの/mnt/smb1 にマウントする。
これで、マウントの設定は終わりだ。 実際にマウントされているかどうかを df
コマンドを使って確かめると良い。
しかし、Windows のTCP/IPフィルタリング機能やファイアウォールソフトを使っている場合は接続できないことがあるので気を付けて欲しい。 外部からのファイル共有を受け付けるにはポート139番のTCPポートを受け付けるようにすればよい。 ブラウジングや名前解決で問題が出る場合は、137番のUDPポートと138番のTCPポートを通すようにすると良い。 小田切 耕司 |