[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: OpenLDAP / Samba integration

-------- Original - Text --------
> What are you having problems with?  Is this a new installation or an
> existing system? 
It is an new installation on an opensuse 11.4.
I have both services running on the same box: ldap and samba

When I try to connect using a smb client,
the debug log ist stating  "key expired". Before that I got an
But right now I remember that I added the Netbios-Statement in smb.conf
and in
that time the debug message changed from user not known to
key expired. I do not want to use netbios if possible - it was just
added as another try to get it running. Could it be that I have to

>From my understanding one needs the samba3.schema because Windows
stores passwords different than unix does and there is no way to
convert. Therefore you only need to set the 2 passwordNT/LM fields
and the sambaSID - the passwords are taken from those
NT/LM fields. Is that right?

The group matching will be done without any problems using the
group value defined in posixAccount. Is that right or am I mistaken?
So for example: If stefan has defined gidNumber 100, based on
this information it will be possible to find out that in the config below
stefan belongs to group users (based again on gidNumber and
memberUiD). Right or wrong?

Here are the essentials of my configuration details for both services.

I do have
dn: ou=Group,dc=xxxxx,dc=de
dn: ou=People,dc=xxxxx,dc=de

also I have:

dn: uid=stefan,ou=People,dc=xxxxx,dc=de
uid: stefan
cn: stefan
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: sambaSamAccount
shadowLastChange: 13572
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 632
gidNumber: 100
homeDirectory: /home/users/stefan
structuralObjectClass: account
entryUUID: 57264e20-2261-102c-9ecf-9fa815f26773
creatorsName: cn=Manager,dc=xxxxx,dc=de
createTimestamp: 20071108161351Z
sambaSID: S-1-5-21-38098927-3018186934-2063245418
sambaLMPassword: c02717a286a249086de605daecb45436
sambaNTPassword: c02717a286a249086de605daecb45436
userPassword:: 1111111111111111111111111=
sambaPwdLastSet: 0
sambaPwdMustChange: 0
entryCSN: 20110321231822.373017Z#000000#000#000000
modifiersName: cn=Manager,dc=xxxxx,dc=de
modifyTimestamp: 20110321231822Z

Note: the sambaLMPassword and the sambaNTPassword values are
created via a php script which first builds the md4-sum of the base password
and after that does another binary transformation. I read this
should be the format samba is expecting the value. Is that right or did
I something wrong at this step?

I have this definition also
dn: cn=users,ou=Group,dc=xxxxx,dc=de
objectClass: posixGroup
objectClass: namedObject
objectClass: top
cn: users
userPassword:: 1111111111111111
gidNumber: 100
memberUid: sadmin
memberUid: stefan
structuralObjectClass: namedObject
entryUUID: 106c209a-226b-102c-9f4d-9fa815f26773
creatorsName: cn=Manager,dc=xxxxx,dc=de
createTimestamp: 20071108172328Z
entryCSN: 20110321210104.815232Z#000000#000#000000
modifiersName: cn=Manager,dc=xxxxx,dc=de
modifyTimestamp: 20110321210104Z


Also I do have that, which confuses me: Why does the
root user only have the value sambaAcctFlags set?
Where does this entry come from - I did not define
it in my ldif import.

dn: uid=root,ou=People,dc=xxxxx,dc=de
uid: root
sambaSID: S-1-5-21-38098927-3018186934-2063245418-1000
displayName: root
sambaPwdCanChange: 1300747942
sambaNTPassword: 111111111111111111
sambaPwdLastSet: 1300747942
sambaAcctFlags: [U          ]
objectClass: sambaSamAccount
objectClass: account
structuralObjectClass: account
entryUUID: a0626f44-e859-102f-8432-f5e997da80c3
creatorsName: cn=Manager,dc=xxxxx,dc=de
createTimestamp: 20110321225222Z
entryCSN: 20110321225222.093965Z#000000#000#000000
modifiersName: cn=Manager,dc=xxxxx,dc=de
modifyTimestamp: 20110321225222Z

This is my slapd.conf:

ldapnix:~ # cat /etc/openldap/slapd.conf | grep -vi "^#"
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/rfc2307bis.schema
include         /etc/openldap/schema/yast.schema
include         /etc/openldap/schema/samba3.schema

pidfile         /var/run/slapd/slapd.pid
argsfile        /var/run/slapd/slapd.args
access to dn.base=""
        by * read
access to attrs=userPassword,userPKCS12
        by self write
        by * auth
access to attrs=shadowLastChange
        by self write
        by * read
access to *
        by * read
database        bdb
monitoring      on
suffix          "dc=xxxxx,dc=de"
checkpoint      1024    5
cachesize       10000
rootdn          "cn=Manager,dc=xxxxx,dc=de"
rootpw          secret
directory       /var/lib/ldap
index   objectClass     eq

This is my smb.conf:

        unix charset = UTF-8
        workgroup = PRIVAT
        interfaces =
        update encrypted = Yes
        map to guest = Bad User
        root directory = /
#username map = /etc/samba/smbusers
               # Logging - 5000 KB, Samba behält eine .old-Datei
        log level = 3
        max log size = 5000
          printcap name = cups
        logon path = \\%L\profiles\.msprofile
        logon drive = P:
        logon home = \\%L\%U\.9xprofile
        domain master = No
        ldap ssl = Off
        idmap uid = 10000-20000
        idmap gid = 10000-20000
        printer admin = @ntadmin, root, administrator
        ldap admin dn = cn=Manager,dc=xxxxx,dc=de
        passdb backend = ldapsam:ldap://ldap.privat.xxxxx.de/
        ldapsam:trusted = yes
        ldapsam:editposix = yes
        ldap debug level = 1
        ldap user suffix = ou=People
#ldap group suffix = ou=Groups
        ldap group suffix = ou=Group
        ldap machine suffix = ou=Computers
        ldap suffix = dc=xxxxx,dc=de
        wins support = No
        add machine script = /sbin/yast
/usr/share/YaST2/data/add_machine.ycp %m$
        domain logons = No
        ldap idmap suffix = ou=Idmap
        ldap passwd sync = No
        netbios name = LDAPNIX
        security = user
        wins server =

I do have a share definition like that:

        comment = All users
        path = /home/users
        valid users = @users, @susers, root
        read only = No
        inherit permissions = Yes

I added the password for the "cn=Manager,dc=xxxxx,dc=de" using
smbpasswd -w secret
The tdbdump /etc/samba/secrets.tdb command shows thoses entries:
key(53) = "SECRETS/LDAP_BIND_PW/cn=Manager,dc=xxxxx,dc=de"
data(7) = "secret\00"
data(68) =
data(68) =

I get this output also:
ldapnix:~ # net getlocalsid
SID der Domäne LDAPNIX ist: S-1-5-21-38098927-3018186934-2063245418

I really like to understand. If you guide me what to do
and it would make sense I would also set it up from scratch to
understand what is going on. But I do not want to use libs or "special"
which will hide the process without the chance to understand.

Thanks for your help.