Windowsドメインとの連携術
Windowsドメインとの認証統合
- 認証統合することでSambaのパスワードに関する分はNTドメインから取得する。
- NTドメインへWindowsとSambaを統合してもUNIXユーザーが別途必要なことは変わりがない。
securityパラメーターと認証統合
security=SERVER による認証統合
- 昔から存在する方法。
- Sambaへのログイン認証を他サーバに委託する。
- 委託先にNTドメインのWindowsか他Sambaを指定できる。DCであるひつようはない。
- 認証サーバー側の設定が不要なのでらく。
- NTドメインが存在しない環境で便利。
設定例
[global] security = SERVER password server = サーバー名 [, サーバー名2]
security = DOMAIN による認証の統合
SambaをNTドメインに参加させる。
設定例
[global] workgroup = 参加ドメインの名前 #ドメイン名は 大文字で! security = DOMAIN password server = PDCサーバー [,BDCサーバー,BDC...]
設定後
Sambaがドメイン参加し、ドメインメンバとしてSambaがPDCに登録される必要がある。
ドメインの参加(設定終了後smbd/nmbd再起動)
net rpc join -U administrator
NT/ADドメインを組んだことが無くて、マシンアカウントを理解してなかったのでチョット詰まった。
security = ADS による認証の統合
- win2k以降のADドメインに参加する。
- ADはKerberosのチケットが必要、設定箇所がちょっと増える。
- マシン名で指定のときはDCのDNSサーバーを指定し名前解決の設定する
設定例 smb.conf
[global] workgroup = ドメイン名(大文字!) security = ADS realm = WIN2K.LAN
設定例 /etc/krb5.conf
[realms] WIN2k.LAN { kdc = DC のIP }
ADドメインに参加する
net ads join -U administrator
ADドメインのAdminパスを一度も変更してなかったらエラーになるらしい
できあがったら、ADドメインのMMC参照すると、コンピューターにSambaが見える
UNIXユーザーの自動生成
add user script 設定をつかうと、UNIX側にユーザーが存在していないとき、Sambaが自動生成する。
設定例
[global] add user script = useradd -m -s /bin/false %u
やってみたけど、WindowsのドメインがPrefixするからあまりキレイじゃなかった・・・(あとでキレイにする方法が出てきた
Winbind 機構
- UNIXのユーザー情報 /etc/passwd の代りに ADドメインを使う。
- UNIXユーザー作成を完全に不要にする
- smbd/nmbd のほかに winbinddを起動して使う
- UNIXのNSS(name service switch )を使っている
Winbind機構のインストール
- windowsドメインへの参加設定 #問題の切り分けの単純化のためにNTドメイン参加をキッチリ済ませておく
- Winbind機構のインストール
- /etc/nsswitch.confの修正
- smb.conf の修正
- winbbind 機構の起動と動作確認 -- getent passwd でWINドメインのユーザーが見えると成功
- Windowsからのログイン -- Winでユーザー作って、WindowsからSambaログイン出来ることを確認
最低限の設定例
nsswitch.conf
passwd: files winbind group: files winbind shadow: files winbind
smb.conf
[global] security = DOMAIN (またはADS) idmap uid = 10000-12000 idmap gid = 10000-12000
Winbind動作確認コマンド
UNIXユーザーとしてwinユーザがみえること確認(ログインは出来ない
takuya$ wbinfo -t #チェック takuya$ wbinfo -u #アカウント列挙 takuya$ getent passwd #非winbindマシンで比較してみるといい
ユーザー属性情報をSFUから取得する。
SFUのNIS機能でユーザー情報 homedir/shell/uid/gid を指定できる。
[global] idmap = ad # Samba拡張モジュール ad.so が必要
NIXユーザー名のの「\」文字の変更
- Windowsドメイン名とユーザー名を区切る文字「\」(バックスラッシュ)を別文字に変更できる。
- バックスラッシュはみにくいので[-, +, _]等に変えると良い
ホームディレクトリの自動作成
- pam_mkhomedir.so を活用するとホームディレクトリの自動作成が可能(PAMの機能)
- ホームディレクトリの作成はユーザー権限で行なわれるので/home の権限に注意する 1777とか?
PAMによるSamba以外のプロダクトへの認証統合
- pam_winbind.so を用いることでSSHd, FTPd, POSTFIX, Apache...などがユーザー情報を使えるようになる。
- pamの設定 /etc/pam.d/どれか #ディストリビューション依って違う
- PAMの設定はGoogle検索すると出てくる。