Hallo Allemaal,
Ik heb de afgelopen weken behoorlijk lopen stoeien met de installatie van een linux based pdc met samba en openldap, na veel zoeken heb ik een howto gevonden welke me in ieder geval een werkende samba en ldapserver heeft opgeleverd. Ik zit nu echter met het volgende probleem, waarop ik nu al bijna een week vast zit.
Na het configureren van de server volgends de howto:
http://tuxnetworks.blogspot.com/2010/07/howto-samba-ldap-on-1004-lucid-short.html wil ik een windows XP SP3 pc het nieuwe domein laten joinen. Ik heb inmiddels op de server ook phpldapadmin geinstalleerd waarop ik sucsesvol kan inloggen op de ldap omgeving. Ik zie hierin dat de users correct aangemaakt zijn.
Verder zie ik NA het proberen te joinen een computer account in de ou=Computers, Bij het joinen van het domein met het juiste user/wachtwoord combinatie krijg ik de melding toegang geweigerd. probeer ik dit bewust met een foutieve, krijg ik de melding dat de user niet gevonden kan worden.
Ik maak gebruik van Ubuntu 10.04.1 LTS, Samba 3.4.7.
Hieronder mijn smb.conf:
[global]
# Domain name ..
workgroup = AGENTS.
# Server name - as seen by Windows PCs ..
netbios name = agentsrv01
# Be a PDC ..
domain logons = Yes
domain master = Yes
# Be a WINS server ..
wins support = true
obey pam restrictions = Yes
dns proxy = No
os level = 35
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
pam password change = Yes
# Allows users on WinXP PCs to change their password when they press Ctrl-Alt-Del
unix password sync = no
ldap passwd sync = yes
# Printing from PCs will go via CUPS ..
load printers = yes
printing = cups
printcap name = cups
# Use LDAP for Samba user accounts and groups ..
passdb backend = ldapsam:ldap://agentsrv01.agents.local/
# This must match init.ldif ..
ldap suffix = dc=agents,dc=local
# The password for cn=ccbbeheer MUST be stored in /etc/samba/secrets.tdb
# This is done by running 'sudo smbpasswd -w'.
ldap admin dn = cn=beheer,dc=agents,dc=local
# 4 OUs that Samba uses when creating user accounts, computer accounts, etc.
# (Because we are using smbldap-tools, call them 'Users', 'Computers', etc.)
ldap machine suffix = ou=Computers
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
# Samba and LDAP server are on the same server in this example.
ldap ssl = no
# Scripts for Samba to use if it creates users, groups, etc.
add user script = /usr/sbin/smbldap-useradd -m '%u'
delete user script = /usr/sbin/smbldap-userdel %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'
# Script that Samba users when a PC joins the domain ..
# (when changing 'Computer Properties' on the PC)
add machine script = /usr/sbin/smbldap-useradd -w '%u'
# Values used when a new user is created ..
# (Note: '%L' does not work properly with smbldap-tools 0.9.4-1)
logon drive =
logon home =
logon path =
logon script = allusers.bat
# This is required for Windows XP client ..
server signing = auto
server schannel = Auto
[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
admin users = root
guest ok = Yes
browseable = No
logon script = allusers.bat
[Profiles]
comment = Roaming Profile Share
# would probably change this to elsewhere in a production system ..
path = /var/lib/samba/profiles
read only = No
profile acls = Yes
browsable = No
[printers]
comment = All Printers
path = /var/spool/samba
use client driver = Yes
create mask = 0600
guest ok = Yes
printable = Yes
browseable = No
public = yes
writable = yes
admin users = root
write list = root
[print$]
comment = Printer Drivers Share
path = /var/lib/samba/printers
write list = root
create mask = 0664
directory mask = 0775
admin users = root
[shared]
writeable = yes
path = /var/lib/samba/shared
public = yes
browseable = yes
[archive]
path = /exports/archive
browseable = yes
create mask = 755
directory mask = 755
read only = no
Hieronder mijn backend.ldif:
# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=agents,dc=local
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=beheer,dc=agents,dc=local
olcRootPW: **
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=beheer,dc=agents,dc=local" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=beheer,dc=agents,dc=local" write by * read
In de directory /var/log/samba/ wordt een bestand log.ws24 aangemaakt, waarin het volgende staat na join:
root@AGENTSRV01:/var/log/samba# cat log.ws24
[2011/02/07 02:26:57, 0] lib/util_sock.c:738(write_data)
[2011/02/07 02:26:57, 0] lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
write_data: write failure in writing to client 0.0.0.0. Error Connection reset by peer
[2011/02/07 02:26:57, 0] smbd/process.c:62(srv_send_smb)
Error writing 4 bytes to client. -1. (Transport endpoint is not connected)
Verder wordt er in diezelfde directory een bestand aangemaakt log.[ipadress] welk geheel leeg is.
Het moet wel haast iets kleins zijn, ik staar me er alleen blind op, waardoor ik het over het hoofd zie.
Ik hoop dat jullie het wel zien!
Greetz
Hein