Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Ubuntu Server 10.04.1 LTS + Samba + LDAP: Joinen domein onmogelijk  (gelezen 1882 keer)

Offline b0oze

  • Lid
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:
Code: (config) [Selecteer]
[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:
Code: (config) [Selecteer]
# 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:
Code: (log) [Selecteer]
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

Offline rja

  • Lid
Re: Ubuntu Server 10.04.1 LTS + Samba + LDAP: Joinen domein onmogelijk
« Reactie #1 Gepost op: 2011/02/08, 18:46:09 »
 Error writing 4 bytes to client. -1. (Transport endpoint is not connected)
Volgens google.

Zou dit een oplossing kunnen zijn voor deze foutmelding.

http://lists.samba.org/archive/samba/2005-March/101571.html



Offline b0oze

  • Lid
Re: Ubuntu Server 10.04.1 LTS + Samba + LDAP: Joinen domein onmogelijk
« Reactie #2 Gepost op: 2011/02/10, 11:05:23 »
Het werkt! Het volgende heb ik gedaan:

1: smb poort ingesteld op 139 (om het "vuile" NETBIOS te verdrijven ga ik nog proberen dit op 445 te zetten)

Foutmeldingen bij aanmaken computers weg, MAAR, nieuwe fout in syslog over het binden naar de ldap server. Google gave an answer!

2: in /etc/ldap.conf "ldapi://localhost/" vervangen voor "ldap://127.0.0.1/"

Bij het joinen van het domein kon ik nog altijd niet de gebruikersnamen bereiken, na veel gegoogle de oplossing gevonden:

apt-get --yes nscd
getent group
getent passwd
reboot


Nog altijd gaat het joinen NIET met de accounts welke op de server aanwezig waren VOOR de installatie van LDAP, de accounts welke via

smbldap-useradd -a -m -P username

aangemaakt zijn, en vervolgens via

smbldap-groupmod -m 'username' 'Administrators'

de juiste rechten hebben gehad, kunnen een domein joinen.

Part 1 completed, nu aan de slag met roaming profiles, homedirs, loginscripts, eventueel mail, remote installation image, en dan nog policy's.

Het nog wat te doen de aankomende weken..