Your SlideShare is downloading. ×
Samba Windowsドメイン連携のすべて(2012/03/17 OSC 2012 Tokyo/Spring)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Samba Windowsドメイン連携のすべて(2012/03/17 OSC 2012 Tokyo/Spring)

104
views

Published on

「Samba最新動向&Active Directory連携のすべて」@2012/03/17 OSC 2012 Tokyo/Spring の資料です。 …

「Samba最新動向&Active Directory連携のすべて」@2012/03/17 OSC 2012 Tokyo/Spring の資料です。
https://www.ospn.jp/osc2012-spring/modules/eguide/event.php?eid=72

次世代の Samba 開発状況やWindows 8対応などのSamba最新動向と、
アンケートで要望が多かったActive Directory連携の解説を予定しています。
※Samba 4.0がリリースされた場合は、Samba最新動向のみをお話しする予定です。

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
104
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Samba Windows ドメイン連携 のすべて 日本Sambaユーザ会 たかはしもとのぶ(髙橋基信)  monyo@samba.gr.jp
  • 2. Windows ドメイン連携で実現できること  要は、Windowsドメインに「参加」できること Sambaサーバ上のユーザ認証をWindowsドメインに 委任できる WindowsドメインのユーザやグループをSambaサー バ上で使える(Winbind機構)  Samba以外のプロダクトのログイン認証にも利用できる 基本的には、これ以上でも以下でもありません $ id 'W2K8AD1samba01' ← 指定したユーザのuidとgidを参照 uid=10001(W2K8AD1samba01) gid=10000(W2K8AD1domain users) groups=10000(W2K8AD1domain users)
  • 3. ユーザ認証をSambaサーバで実施 SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 パーミッションのチェック WindowsWindows クライアントクライアント file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) user1:passA(MS暗号化) user2:passB(MS暗号化) user1として認証 /etc/smbpasswdファイル リソースへのアクセス Sambaユーザとして の認証 UID1000でアクセス user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 /etc/passwdファイル Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) 認証情報は使わない 4
  • 4. ユーザ認証をWindowsドメインで実施 SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 リソースへのアクセス パーミッションのチェック WindowsWindows クライアントクライアント Sambaユーザとして の認証 ドメインドメイン コントローラコントローラ user1:passA(MS暗号化) user2:passB(MS暗号化) /etc/smbpasswd ファイル不要 認証 認証要求 user1として認証 file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) UID1000でアクセス user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 /etc/passwdファイル Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) 認証情報は使わない対応付けのために /etc/passwdファイルは 依然として必要 1
  • 5. Winbind機構とは  ユーザ認証だけでなく、ユーザやグループの情 報もWindowsドメインから取得する機能  ユーザ認証を委任してもユーザ情報はSambaサーバで 独自に持たないといけないのは不便 設定  smb.conf  NSSの設定  /etc/nsswitch.confファイルの修正  nss_winbindモジュールのインストール  PAMの設定(Samba以外の認証も行う場合)  pam_winbindモジュールのインストール
  • 6. Winbind機構なし(Windowsドメインで認証) SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 リソースへのアクセス パーミッションのチェック WindowsWindows クライアントクライアント Sambaユーザとして の認証 ドメインドメイン コントローラコントローラ user1:passA(MS暗号化) user2:passB(MS暗号化) /etc/smbpasswd ファイル不要 認証 認証要求 user1として認証 file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) UID1000でアクセス 対応付けのために /etc/passwdファイルは 依然として必要 user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 /etc/passwdファイル
  • 7. user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 /etc/passwdファイル Winbind機構あり SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 リソースへのアクセス パーミッションのチェック WindowsWindows クライアントクライアント Sambaユーザとして の認証 ドメインドメイン コントローラコントローラ user1:passA(MS暗号化) user2:passB(MS暗号化) /etc/smbpasswd ファイル不要 認証 認証要求 user1として認証 file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) UID1000でアクセス Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) /etc/passwd ファイル不要 ユーザ情報 連携 user1:1000 user2:1001 Winbind UNIXユーザ情 報を自動生成 (Idmap機構) 3 対応付けのために /etc/passwdファイルは 依然として必要
  • 8. Winbind機構なし SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 リソースへのアクセス パーミッションのチェック WindowsWindows クライアントクライアント Sambaユーザとして の認証 ドメインドメイン コントローラコントローラ user1:passA(MS暗号化) user2:passB(MS暗号化) /etc/smbpasswd ファイル不要 認証 認証要求 user1として認証 file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 /etc/passwdファイル Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) UID1000でアクセス
  • 9. ユーザ認証をSambaサーバで実施 SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 パーミッションのチェック WindowsWindows クライアントクライアント file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) user1:passA(MS暗号化) user2:passB(MS暗号化) user1として認証 /etc/smbpasswdファイル リソースへのアクセス Sambaユーザとして の認証 UID1000でアクセス user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 /etc/passwdファイル Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) 認証情報は使わない
  • 10. Windows ドメイン連携で実現できること  要は、Windowsドメインに「参加」できること Sambaサーバ上のユーザ認証をWindowsドメインに 委任できる(Winbind機構なし) WindowsドメインのユーザやグループをSambaサー バ上で使える(Winbind機構あり)  Samba以外のプロダクトのログイン認証にも利用できる 基本的には、これ以上でも以下でもありません $ id 'W2K8AD1samba01' ← 指定したユーザのuidとgidを参照 uid=10001(W2K8AD1samba01) gid=10000(W2K8AD1domain users) groups=10000(W2K8AD1domain users)
  • 11. 自動生成されるユーザ、グループ名の設定  UNIX流儀に近い名前に変更できる デフォルトは「Domain NameUsername」  「」が入るので、扱いが若干面倒 カスタマイズ例  Domain Name_Username ← 「」を「_」に変更  domain_nameusername ← すべて小文字&空白を                     「_」に変更  Username ← ユーザ名のみに変更 $ getent passwd 'W2K8AD1samba01' W2K8AD1samba01:*:10001:10000::/home/W2K8AD1/samba01:/bin/false user1:1000 user2:1001 Winbind UNIXユーザ情 報を自動生成 (Idmap機構) W2K8AD1samba01 グループ名もこのカスタマイズの影響を受ける 1
  • 12. 自動生成されるユーザ情報の設定  ホームディレクトリ,シェルもカスタマイズ可 デフォルトは 「/home/DomainName/Username」と「/bin/false」 変更の方式  全ユーザ一律で変更  template shell / template homedir パラメータを使用  ユーザごとに変更  Active DirectoryのUNIX属性にある ログインシェル、ホームディレクトリ 値を参照させる $ getent passwd 'W2K8AD1samba01' W2K8AD1samba01:*:10001:10000:: user1:1000 user2:1001 Winbind UNIXユーザ情 報を自動生成 (Idmap機構) /home/W2K8AD1/samba01:/bin/false10001:10000 ログインシェルとホームディレクトリの情報を参照 1
  • 13. 自動生成されるグループ情報の設定  グループのメンバの参照元に注意 非Winbind環境  /etc/groupファイルを参照 Winbind環境  Windows上のマッピング元グループを参照  UNIX側のグループ情報はGID以外使われない いくら/etc/groupにユーザを足しても無意味! ドメイン コントローラ グループの メンバ情報 グループの メンバ情報 Domain Users Samba サーバ domusers /etc/group ファイル Active Directory マッピング # net groupmap add $ getent group 'W2K8AD1Domain Users' W2K8AD1Domain Users:x:10017: W2K8AD1ldap01,W2K8AD1ldap02, … 4
  • 14. ローカルグループのサポート  Winbind環境では、Windowsと同様のローカル グループもサポートされる Sambaサーバ上のユーザに加え、ドメインのグロー バルグループやユーザもメンバに追加できる  こちらも/etc/groupの情報は参照されない  メンバの追加、削除はWindowsから行うか、専用のコマ ンド(net sam / net groupmap)経由 Samba サーバ ローカルグループ Winbind機構 Active Directory ローカルユーザ ドメインユーザ ドメイングループ アクセス権付与
  • 15. ユーザ、グループ名指定方法の注意  smb.confでの設定方法 「DOMAINUser」形式で指定すること [share] valid users = +”Domain Users” +monyo [share] valid users = +”W2K8AD1Domain Users” +W2K8AD1monyo ※ドメイン名を指定しない場合は、UNIX上のグループ名を指定した   とみなされる 2
  • 16. # id W2K8AD1user1 Idmap機構  自動生成されるユーザにマップされるUIDや GIDを生成し、その情報を保持するWinbindの 一機構 Winbind W2K8AD1 ドメインのDC W2K8AD1user1ユーザの UIDを教えてください Idmap機構 W2K8AD1 user1の情報 UIDは1000 です UID生成 → 1000 uid=1000(W2K8AD1user 1) SAMBA サーバ W2K8AD1user1:1000 Idmap 情報を格納 UNIXユーザ情 報を自動生成 (Idmap機構) 8
  • 17. Idmapバックエンド  Idmap情報の生成、保持の方法は選択可能 tdbもしくはridがお勧め 名称 ID生成 格納場所 一元管理 概要 tdb プールから 払い出し TDB ファイル 各サーバごと もっとも古い機構で、IDは未使用ID領域から 順に生成される ldap プールから 払い出し LDAP ディレクトリ 可能 TDBと同時期から存在する。ID格納場所を LDAPにすることで、複数サーバ間で生成し たIDの一元管理可能な点が特徴 ad / (adex) UNIX属性 AD 可能 Active DirectoryのUNIX属性に設定された UID情報を用いる。LDAPサーバを立てるこ となく、IDの一元管理が可能 rid / autorid 計算式 (なし) 可能 Active Directoryの各ユーザ、グループに付 与されているRID値から自動生成された値を 用いる。IDの管理自体が不要 nss /etc/passwdファイル 各サーバごと /etc/passwdのUID情報をそのまま用いる。 LDAPで認証統一している場合などに便利
  • 18. Idmapバックエンド  Idmap情報の生成、保持の方法は選択可能 tdbもしくはridがお勧め LDAP サーバ IDプール Samba サーバ IDプール ドメイン コントローラ ユーザ情報 tdbバックエンド tdbバックエンド Domainuser1の UID生成→1000 Domainuser1の UID生成→ 同期されない ldapバックエンド 1020 Samba サーバ 参照 参照 同期されている LDAPの 管理が面倒UNIX属性 参照 参照 個別管理 したくない adadバックエンドバックエンド 算出 算出 ridバックエンド 15
  • 19. Idmap機構の設定  バージョンによって設定方法が異なる  Samba 3.0.24以前  全ドメイン一律設定、比較的簡単  Samba 3.0.25~3.2.X  ドメインごとにIdmap機構を設定可能、複雑  複数Idmap機構間で払い出すIDの重複を防ぐ機構(alloc backend機 構)が導入、かなり複雑  Samba 3.3.0~3.5.X  3.0.24以前、以降両者の長所を組み合わせ。3.0.24以前の方法はデ フォルト値として再定義。3.0.25以降の方法でドメインごとにも設定可能  Samba 3.6.0以降  alloc backend機構が隠蔽(Samba内部で暗黙的に機能する形に)  3.0.24以前の設定方法は混乱を避けるため非推奨に。別途デフォルト 値を設定する構文が追加
  • 20. NIS(LDAP)環境について  UIDやGIDが生成済→Samba側で生成しては いけない 非Winbind環境  通常通り構築可能  UNIXユーザ、グループは既にNISやLDAPで作成された ユーザを用いればよい Winbind環境の場合  Idmap機構として、必ずidmap_nssを使用すること  idmap_nssは、UID/GID自動生成をしないIdmapモジュール  グループのメンバはAD側の情報しか参照されないので 注意(前述の とおり)  NISのgroupマップやLDAP内のグループ情報は反映されない ※ ※
  • 21. NIS環境-Winbind機構なし SambaSambaサーバサーバ -rw-r--r– user1 grp1 file1 -rw-r--r– user2 grp2 file2 リソースへのアクセス パーミッションのチェック WindowsWindows クライアントクライアント Sambaユーザとして の認証 ドメインドメイン コントローラコントローラ user1:passA(MS暗号化) user2:passB(MS暗号化) /etc/smbpasswd ファイル不要 認証 認証要求 user1として認証 file1に アクセス ユーザ名 :user1 パスワード:passA(MS暗号化) user1:pass1(暗号化):1000 user2:pass2(暗号化):1001 passwdマップ Linuxユーザと対応 付け(通常同じ名前の ユーザと対応) UID1000でアクセス
  • 22. PAMによる認証のサポート  pam_winbindにより各プロダクトを認証  SSHでのログイン時の認証をADのパスワードで行うなど  nss_winbind(Sambaの動作にも必要)と組み合わせて 用いる Winbind ドメインドメイン コントローラコントローラ SambaSambaサーバサーバ 認証要求/認証 ユーザ情報 連携 ユーザ、 グループ情報 Samba pam_winbind ssh ftp telnet 認証機能提供(PAM経由) 認証情報提供(独自) 2 Linux(UNIX) ユーザ情報提供 1000:monyo 1001:damedame nss_winbind
  • 23. ご清聴ありがとうございました  詳細については、「改訂版」Sambaのすべてを ご参照ください。