Hi,
ich versuche gerade vergebens einen PDC per Samba mit einem LDAP-Verzeichnis aufzubauen.
Dabei bin ich nahezu strikt nach folgendem Tutorial vorgegangen:
http://www.howtoforge.com/openldap-samba-domain-controller-ubuntu7.10-p3
Ein paar Daten zu meiner angepassten Konfiguration:
OS des Servers : Ubuntu 8.04 JeOS (SERVER)
OS des Clients: WinXP Home (PC2)
Domäne : localzone.de
Wenn ich nun versuche, mich mit dem Client auf dem Server anzumelden,
erscheint auf dem Client die Meldung: "Zugriff verweigert",
daraus schließe ich, dass der Benutzer korrekt erstellt und auch authentifiziert wurde,
da keine Meldung bez. falschen Benutzer/Password ausgegeben wird.
Hier die Konfig-Dateien:
smb.conf:
[global] log file = /var/log/samba.log netbios name = server server string = %h server (Samba, Ubuntu JeOS) workgroup = localzone.de os level = 20 log level= 2 encrypt passwords = true security = user ###PDC domain logons = yes obey pam restrictions = no ###Ldap-Einstellungen### passdb backend = ldapsam:ldap://localhost/ ldap admin dn = cn=admin,dc=localzone,dc=de ldap suffix = dc=localzone,dc=de ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Users ; Do ldap passwd sync ldap passwd sync = Yes ldap delete dn = Yes logon path = ###Scripts add user script = /usr/sbin/smbldap-useradd -m "%u" delete user script = /usr/sbin/smbldap-userdel "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" passwd program = /usr/sbin/smbldap-passwd %u passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated* [homes] browseable = no writeable = yes [root] writeable = yes path = /
slapd.conf:
# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: # Features to permit #allow bind_v2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema include /etc/ldap/schema/misc.schema # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel none # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_bdb # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 ####################################################################### # Specific Backend Directives for bdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend bdb ####################################################################### # Specific Backend Directives for 'other': # Backend specific directives apply to this backend until another # 'backend' directive occurs #backend <other> ####################################################################### # Specific Directives for database #1, of type bdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database bdb # The base of your directory in database #1 suffix dc=localzone,dc=de # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. rootdn cn=admin,dc=localzone,dc=de # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # The dbconfig settings are used to generate a DB_CONFIG file the first # time slapd starts. They do NOT override existing an existing DB_CONFIG # file. You should therefore change these settings in DB_CONFIG directly # or remove DB_CONFIG and restart slapd for changes to take effect. # For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM dbconfig set_cachesize 0 2097152 0 # Sven Hartge reported that he had to set this value incredibly high # to get slapd running at all. See http://bugs.debian.org/303057 for more # information. # Number of objects that can be locked at the same time. dbconfig set_lk_max_objects 1500 # Number of locks (both requested and granted) dbconfig set_lk_max_locks 1500 # Number of lockers dbconfig set_lk_max_lockers 1500 # Indexing options for database #1 index objectClass eq index sambaSID eq index sambaSIDList eq index sambaGroupType eq # Save the time that the entry gets modified, for database #1 lastmod on # Checkpoint the BerkeleyDB database periodically in case of system # failure and to speed slapd shutdown. checkpoint 512 30 # Where to store the replica logs for database #1 # replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,sambaNTPassword,sambaLMPassword by dn="cn=admin,dc=localzone,dc=de" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=admin,dc=localzone,dc=de" write by * read # For Netscape Roaming support, each user gets a roaming # profile for which they have write access to #access to dn=".*,ou=Roaming,o=morsnet" # by dn="cn=admin,dc=localzone,dc=de" write # by dnattr=owner write ####################################################################### # Specific Directives for database #2, of type 'other' (can be bdb too): # Database specific directives apply to this databasse until another # 'database' directive occurs #database <other> # The base of your directory for database #2 #suffix "dc=debian,dc=org" rootpw {crypt}352MLF9Jv/6ZM
Deweiteren hier die Auszüge aus meiner samba.log-Datei im Log-Level 2
nach einer erfolglosen Anmeldung wie oben beschrieben:
[2008/06/20 09:15:23, 2] smbd/sesssetup.c:setup_new_vc_session(1209) setup_new_vc_session: New VC == 0, if NT4.x compatible we would close all old resources. [2008/06/20 09:15:23, 2] lib/smbldap.c:smbldap_open_connection(786) smbldap_open_connection: connection opened [2008/06/20 09:15:23, 2] passdb/pdb_ldap.c:init_sam_from_ldap(545) init_sam_from_ldap: Entry found for user: ricky [2008/06/20 09:15:23, 2] passdb/pdb_ldap.c:init_group_from_ldap(2162) init_group_from_ldap: Entry found for group: 513 [2008/06/20 09:15:23, 2] passdb/pdb_ldap.c:init_group_from_ldap(2162) init_group_from_ldap: Entry found for group: 513 [2008/06/20 09:15:23, 2] auth/auth.c:check_ntlm_password(309) check_ntlm_password: authentication for user [ricky] -> [ricky] -> [ricky] succeeded [2008/06/20 09:15:23, 2] smbd/sesssetup.c:setup_new_vc_session(1209) setup_new_vc_session: New VC == 0, if NT4.x compatible we would close all old resources. [2008/06/20 09:15:23, 2] smbd/reply.c:reply_special(324) [2008/06/20 09:15:23, 2] smbd/sesssetup.c:setup_new_vc_session(1209) setup_new_vc_session: New VC == 0, if NT4.x compatible we would close all old resources. [2008/06/20 09:15:23, 2] lib/smbldap.c:smbldap_open_connection(786) smbldap_open_connection: connection opened [2008/06/20 09:15:23, 2] passdb/pdb_ldap.c:init_sam_from_ldap(545) init_sam_from_ldap: Entry found for user: ricky [2008/06/20 09:15:23, 2] passdb/pdb_ldap.c:init_group_from_ldap(2162) init_group_from_ldap: Entry found for group: 513 [2008/06/20 09:15:23, 2] passdb/pdb_ldap.c:init_group_from_ldap(2162) init_group_from_ldap: Entry found for group: 513 [2008/06/20 09:15:23, 2] auth/auth.c:check_ntlm_password(309) check_ntlm_password: authentication for user [ricky] -> [ricky] -> [ricky] succeeded netbios connect: name1=SERVER name2=PC2 [2008/06/20 09:15:23, 2] smbd/reply.c:reply_special(331) netbios connect: local=server remote=pc2, name type = 0 [2008/06/20 09:15:23, 2] rpc_server/srv_samr_nt.c:_samr_lookup_domain(2916) Returning domain sid for domain LOCALZONE.DE -> S-1-5-21-642033337-4056483930-3229589705 [2008/06/20 09:15:23, 2] rpc_server/srv_samr_nt.c:_samr_lookup_domain(2916) Returning domain sid for domain LOCALZONE.DE -> S-1-5-21-642033337-4056483930-3229589705 [2008/06/20 09:15:23, 2] lib/smbldap_util.c:smbldap_search_domain_info(256) smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=LOCALZONE.DE))] [2008/06/20 09:15:23, 0] lib/smbldap.c:smbldap_open(1014) smbldap_open: cannot access LDAP when not root.. [2008/06/20 09:15:23, 2] lib/smbldap_util.c:smbldap_search_domain_info(263) smbldap_search_domain_info: Problem during LDAPsearch: Insufficient access [2008/06/20 09:15:23, 2] lib/smbldap_util.c:smbldap_search_domain_info(264) smbldap_search_domain_info: Query was: dc=localzone,dc=de, (&(objectClass=sambaDomain)(sambaDomainName=LOCALZONE.DE))
Könnt ihr mit dem Problem etwas anfangen und mir sagen, wie ich es lösen kann?
MfG