- - PR -
Samba 3 で ActiveDirectory に参加
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-01-11 18:38
こんばんわ.
Samba を使って ActiveDirectory で認証をしてみようと思い立ち, 参照元記事などを参考にしながら設定してみました. kinit や net ads join などは正常に処理できたようですが, winbindd を起動すると,後述の内容の error が表示されて, Samba server へ接続できません. 内容がお判りになられる方,恐縮ですがご教示いただきたく. Windows Server 2003(Domain Controller)-- RedHat Enterprise Linux 3.0(Samba3) ※ActiveDirectory には Windows client が参加できています. Domain -- NetBIOS では MOON,DNS では moon.local ---/etc/samba/smb.conf--- [global] workgroup = MOON realm = MOON.LOCAL server string = Samba3.0 security = ADS obey pam restrictions = Yes log file = /var/log/samba/%m.log max log size = 50 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = No winbind separator = + winbind uid = 10000-12000 winbind gid = 10000-12000 [homes] comment = Home Directories read only = No browseable = No ---/etc/krb5.conf--- [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] ticket_lifetime = 24000 default_realm = MOON.LOCAL dns_lookup_realm = false dns_lookup_kdc = false [realms] MOON.LOCAL = { kdc = dawn.moon.local:88 admin_server = dawn.moon.local:749 default_domain = moon.local } [domain_realm] .moon.local = MOON.LOCAL moon.local = MOON.LOCAL [kdc] profile = /var/kerberos/krb5kdc/kdc.conf [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } ---/etc/pam.d/system-auth--- #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required /lib/security/$ISA/pam_env.so auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok auth sufficient /lib/security/pam_winbind.so auth required /lib/security/$ISA/pam_deny.so account required /lib/security/$ISA/pam_unix.so account sufficient /lib/security/pam_winbind.so password required /lib/security/$ISA/pam_cracklib.so retry=3 type= password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow password required /lib/security/$ISA/pam_deny.so session required /lib/security/$ISA/pam_limits.so session required /lib/security/$ISA/pam_unix.so ---winbindd 起動時の syslog の error--- Jan 11 18:00:18 twilight winbindd[3433]: [2005/01/11 18:00:18, 0] libsmb/smb_signing.c:signing_good(240) Jan 11 18:00:18 twilight winbindd[3433]: signing_good: BAD SIG: seq 1 Jan 11 18:00:18 twilight winbindd[3433]: [2005/01/11 18:00:18, 0] libsmb/clientgen.c:cli_receive_smb(121) Jan 11 18:00:18 twilight winbindd[3433]: SMB Signature verification failed on incoming packet! ---wbinfo -t での結果--- checking the trust secret via RPC calls failed error code was NT_STATUS_UNSUCCESSFUL (0xc0000001) Could not check secret ※ちなみに wbinfo -u/g で, ※ActiveDirectory 側の account/group は参照できます. Windows 側から Samba へ接続しに行くと, 「現在ログオン要求を処理できるログオンサーバはありません」 と拒否されます. 以上,よろしくお願いいたします. | ||||||||
|
投稿日時: 2005-01-11 20:18
WindowsServer2003のドメインコントローラではSMB署名が有効になってるから、それが原因でしょう。 http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/570.asp でも、今まで問題出てないってことは、レガシクライアントが存在しない環境だったんでしょうか。 | ||||||||
|
投稿日時: 2005-01-11 21:25
ありがとうございます. 簡単に確認してみた限り, 「ドメインコントローラ セキュリティ ポリシー」で 「Microsoft ネットワーク サーバー」->「常に通信にデジタル署名を行う」を 未定義/無効にしても動作は変わりありませんでした.
この辺の情報は数多ある Samba3 + ActiveDirectory の情報にも見あたりませんでした. ということは,Windows Server 側の問題ではないのか?と認識していました. 引き続きご教示賜りたく. | ||||||||
|
投稿日時: 2005-01-12 16:00
こんにちわ.
昨日の続きです. 調べた限り,Samba-3.0.7 以降では bug があって, ActiveDirectory には参加できないらしいです. RHEL の package では Samba-3.0.6-2.3E なら実績があるらしく, version を落としてみました.
---down grade した後の wbinfo -t --- checking the trust secret via RPC calls succeeded 一応挙動は変わりましたが, winbindd.log では下記のような error を吐いています. [2005/01/12 15:38:22, 1] nsswitch/winbindd.c:main(854) winbindd version 3.0.6-2.3E started. Copyright The Samba Team 2000-2004 [2005/01/12 15:38:22, 1] libsmb/clikrb5.c:ads_krb5_mk_req(313) krb5_cc_get_principal failed (No credentials cache found) ですが,相変わらず Samba へ接続できません. これから Windows Server 側をいじってみます. | ||||||||
|
投稿日時: 2005-01-12 18:51
と思いましたが,Windows Server 側の設定変更では受け入れて貰えず, 結局 security = DOMAIN で繋いでみました. せっかく教えていただいて申し訳ありません -> Mattun 様 これで Samba(Linux)側に user account を作らずに Windows -> Samba で ActiveDirectory の user account で接続できるようになりました. ssh や console での login も ActiveDirectory の user account で出来るようになりました. ちなみに,security = ADS で ActiveDirectory に参加するには, MIT kerberos1.3.1 以降が必要だそうです. ※と,Samba 3.0.9 の document に書かれているようです. ※ちなみに RHEL は 1.2.7 だったりします. 時間を見つけて update してみます. 以上,ご報告まで. | ||||||||
|
投稿日時: 2005-01-22 23:42
こんばんわ.
中間報告です. その後,RHEL 3.0 の kerberos5 などをいろいろやってみたら, とりあえず net ads join できました. NTLM 認証の場合は Domain Controller 側で OS が不明のままですが, net ads join 出来た場合は OS や Samba の version までわかります. ですが,作業履歴を取っていなかったので 「なんとか出来る」という話になってしまいました. 今後,Windows Server/RHEL ともに再構築し,もう一度検証してみるつもりです. 補足になりますが,気になったので Miracle Linux でも検証してみました. smb.conf,krb5.conf,nsswitch.conf,pam.d/system-auth は全て RHEL3.0 -> Miracle Linux 3.0 に copy してきただけですが, まったく問題なく ActiveDirectory に net ads join できました. ちなみに Samba 3.0.2a + krb5 1.3.1 でした. このことから,Samba の version はあまり関係ないのかもしれません. 以上,経過報告でした. | ||||||||
|
投稿日時: 2005-04-28 11:46
もう解決しているのかもしれませんが、一応ADドメインに参加できている
smb.confをさらしておきます。 ***** smb.conf ***** [global] dos charset = CP932 unix charset = EUCJP-MS display charset = EUCJP-MS realm = GALAXY.LOCAL workgroup = GALAXY netbios name = FEDORA security = ADS password server = SUN disable netbios = Yes local master = No domain master = No add share command = /usr/lib/samba/bin/addshare.pl ----日経linux4月号 change share command = /usr/lib/samba/bin/chgshare.pl ---- 〃 delete share command = /usr/lib/samba/bin/delshare.pl ---- 〃 idmap uid = 30000-40000 idmap gid = 30000-40000 winbind separator = + winbind enable local accounts = Yes winbind use default domain = Yes admin users = GALAXY+Administrator -----この記述があると、windowsホストのコンピュータの管理 から共有の作成が行える。smb.confのパーミッションが root root 644でもwindowsドメインのユーザーがsmb.confを 変更できるようになった。共有のセクションが加筆・削除される。 [printers] comment = All Printers path = /var/spool/samba printable = Yes browseable = No [C$] path = / valid users = GALAXY+Administrator write list = GALAXY+Administrator ***** krb5.conf ****** [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = GALAXY.LOCAL [realms] GALAXY.LOCAL = { kdc = SUN.galaxy.local } [domain_realm] .galaxy.local = GALAXY.LOCAL galaxy.local = GALAXY.LOCAL [kdc] profile = /var/kerberos/krb5kdc/kdc.conf [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } wins(DNSのみで名前解決)がない環境で、DC 各クライアント とも Netbios over TCP/IPが無効。 DNSのAレコードを追加 .... linux.galaxy.local 192.168.0.103 fedora.galaxy.local 192.168.0.103(*) .... NBTが無効でもコンピュータのnetbios名とDNSからサフィックスを取り除いたホスト名 が一致していないとエラーになるため(*) kinit ↓ net ads join でメデタク参加できますた。 最初securyty = ADS が ダメで、DOMAINにしたら参加可能になったが、 wbinfoでユーザー情報取得不能(NBTが無効だからか?)で 改めて ADS でトライした。 その際 disable netbios = Yes local master = No domain master = No を追加してみたらうまくいった。 以上 samba AD連携で行き詰っている方々の参考になれば・・・・・・ | ||||||||
|
投稿日時: 2005-04-29 20:06
こんばんわ.
ありがとうございます. 参考にさせていただきます.
実は実案件でやることになったので, これから検証しようと考えてます. 差し支えなければ OS/kerberos5/samba それぞれの version をご教示いただけるとさらに助かります. 相変わらず Miracle や Turbo では問題ないです. ちなみに Vine の samba は ActiveDirectory に 対応するための option 付きで build されてないようでした. なので,Windows Server 2003 + RedHat Enterprise Linux 3.0 で 検証に着手するべく準備中です. |