- - PR -
[質問] Active DirectoryでLinuxユーザーを一元管理する方法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-02 13:12
初めて書き込みさせていただきます。
現在Windows2003で研究室のネットワークを管理しようと考えております。 構成はAD、DNSサーバーをWindows2003 Enterprise ver、ファイルサーバーをCentOS4.2(Samba3.0.10-1.4E.2)、クライアントをCentOSです。 Kerberos認証で、ユーザー情報をWinbindで取得しようと考えております。 やりたい事 1.ファイルサーバーのユーザー、パスをWindows2003で管理する。 2.Linuxクライアントのユーザー、パスをWindows2003で管理する。 現在の状況 1のファイルサーバーは問題なくADに参加でき、Windowsのホームフォルダにマウントさせることも出来ています。 問題は2のLinuxクライアントです。ADには参加でき、wbinfo -t,-u,-gで情報を読んでくることはできるのですが、いざログインしようとするとパスワードもしくはユーザー名が違いますといわれます。そこで、adduserでADに登録されているユーザー名を/etc/passwdにパスなしで登録すると、ログインすることができました。 しかし、各クライアントにユーザーを追加していくのは、大変手間がかかります。 Linuxにユーザーを追加することなくログインする方法があれば、ご教授をお願い致します。 参考書籍 秀和システム Active DirectoryとLinuxによるシステム構築ガイド 翔泳社 Sambaのすべて ---smb.conf--- [global] dos charset = CP932 unix charset = EUCJP-MS workgroup = TEST password server = pythagoras.test.local realm = TEST.LOCAL security = ads idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash winbind use default domain = yes winbind cache time = 15 winbind separator = @ encrypt passwords = yes ---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 = TEST.LOCAL dns_lookup_realm = false dns_lookup_kdc = false [realms] TEST.LOCAL = { kdc = pythagoras.test.local:88 admin_server = pythagoras.test.local:749 kdc = pythagoras.test.local } [kdc] profile = /var/kerberos/krb5kdc/kdc.conf [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } ---nsswitch.conf--- passwd: files winbind shadow: files winbind group: files winbind #hosts: db files ldap nis dns hosts: files dns # Example - obey only what ldap tells us... #services: ldap [NOTFOUND=return] files #networks: ldap [NOTFOUND=return] files #protocols: ldap [NOTFOUND=return] files #rpc: ldap [NOTFOUND=return] files #ethers: ldap [NOTFOUND=return] files bootparams: files ethers: files netmasks: files networks: files protocols: files winbind rpc: files services: files winbind netgroup: files winbind publickey: files automount: files winbind aliases: files [ メッセージ編集済み 編集者: ぼの 編集日時 2006-02-03 18:59 ] | ||||||||||||
|
投稿日時: 2006-02-02 18:18
こんばんわ.
その際,syslog にはなんと記録されていますか?
ちゃんと設定されていればその必要は無いです. ちなみに File server では, Active Directory の user account で login できるのですか? できないとしたら,HomeDirectory はどのように生成していますか? smb.conf が[global]しか書かれていないのと, pam の設定が見当たらないのでちょっとこの内容ではわからないと思います. | ||||||||||||
|
投稿日時: 2006-02-03 18:58
返信ありがとうございます。
syslogの内容は次のとおりです。 [root@VM-Linux1 log]# dmesg | grep winbind audit(1138870874.657:3): avc: denied { write } for pid=2522 comm="winbindd" name="secrets.tdb" dev=dm-0 ino=427823 scontext=user_u:system_r:winbind_t tcontext=root:object_r:samba_etc_t tclass=file
File serverでも、クライアントLinuxと同じような現象です。 Home Directoryは、1度WindowsXPの方でプロファイルにファイルサーバーの各ユーザーのHomeDirectoryをマウントしたユーザーでログインして、初めて生成されています。 smb.confですが、これはクライアント側のものなのでglobal以外は設定しておりません。何か設定しなければならないのでしょうか? ---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/$ISA/pam_krb5.so use_first_pass auth required /lib/security/$ISA/pam_deny.so account required /lib/security/$ISA/pam_unix.so broken_shadow account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_krb5.so account required /lib/security/$ISA/pam_permit.so password requisite /lib/security/$ISA/pam_cracklib.so retry=3 password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow password sufficient /lib/security/$ISA/pam_krb5.so use_authtok password required /lib/security/$ISA/pam_deny.so session required /lib/security/$ISA/pam_limits.so session required /lib/security/$ISA/pam_unix.so session optional /lib/security/$ISA/pam_krb5.so よろしくお願いします。 | ||||||||||||
|
投稿日時: 2006-02-03 23:16
こんばんわ.
よく意味がわかりません. 接続したら自動的に Home Directory が生成される機能がありますが, そういった機能を用いずに使っているという認識ですか? 「Sambaのすべて」に普通に書かれてますけど. それとも,NFS か何かで File server に mount しているのですか? それと,dmesg ではなく syslog ですけど,違いわかりませんか? | ||||||||||||
|
投稿日時: 2006-02-09 14:17
返信がおそくなり、申し訳ございませんでした。
Home Directoryですが、説明が不適切でした。 現状ではWindows2003のADユーザーでLinuxのクライアントにログインできないので、以下のような手順で生成しています。 1.Windows2003のADユーザーを作り、プロファイル設定のホームフォルダを「\\\\sambaサーバー\\homes\\ADユーザー名」と設定する。 2.WindowsXPのクライアントPCで1で作成したADユーザーでログインする。 3.1でホームフォルダの設定をしているので、マイコンピュータを開くとZ:としてマウントされている。 Z:にアクセスする。(Sambaサーバーの認証の必要なくアクセスできた) 4.Sambaサーバーのhomeを以下に1で作った、ADユーザーのDirectoryが生成されている。 syslogですが、/var/log/samba/winbindd.logの内容でしょうか? よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-02-09 14:39
「ADユーザー」という言葉の意味は理解されていますか? それが Active Directory の user account ではなく, Samba が実装された Linux Client の local account ですが, そこは理解したうえでやってますか? つまり,Active Directory に登録されている user account と 同じ ID/password で WindowsXP に登録して, 「Active Directory に logon する」のと 「Active Directory に登録されているの 同じ ID/password の local account で logon する」のと, それぞれの user account は全く別の account であることを理解しているか? という意味ですが.
その辺,Windows でも同じことが起きますよ.
そうです. | ||||||||||||
|
投稿日時: 2006-02-09 19:02
素早い返信ありがとうございます。
「ADユーザー」の意味を勘違いしておりました。 つまり、Active Directoryのuser accountで1〜4の手順を行いました。 WindowsXPではユーザー登録は何もしておりません。 ---winbindd.log--- [2006/02/09 16:40:23, 0] lib/util_sock.c:read_socket_with_timeout(321) read_socket_with_timeout: timeout read. read error = 接続相手からリセットされました. [2006/02/09 16:40:24, 1] nsswitch/winbindd_group.c:winbindd_getgroups(1032) user 'root' does not exist [2006/02/09 16:40:24, 0] lib/util_sock.c:read_socket_with_timeout(321) read_socket_with_timeout: timeout read. read error = 接続相手からリセットされました. [2006/02/09 16:40:24, 0] rpc_client/cli_pipe.c:rpc_api_pipe(435) cli_pipe: return critical error. Error was Read error: 接続相手からリセットされました. [2006/02/09 16:40:24, 1] nsswitch/winbindd_group.c:winbindd_getgroups(1032) user 'root' does not exist [2006/02/09 16:40:24, 1] nsswitch/winbindd_group.c:winbindd_getgroups(1032) user 'root' does not exist [2006/02/09 16:40:24, 1] nsswitch/winbindd_group.c:winbindd_getgroups(1032) user 'root' does not exist よろしくお願い致します。 | ||||||||||||
|
投稿日時: 2006-02-09 23:50
こんばんわ.
見逃してました. passwd/shadow/group 以外に winbind の entry が書かれているのは何故ですか? error にある "user 'root' does not exist" は無視して良いと思います. ※Active Directory に root を見に行って「いないジャン」ということです. 繰り返しになりますが, 然るべく設定されていれば, Linux 側には user account など登録する必要はありません. netfilter で filtering してたりしますか? |
1