Hi !
I have an OpenLDAP where users DN are in the form ?
uid=P1234,ou=people,dc=example,dc=com ? and where the login is in the ?
eduPersonPrincipalName ? attribute (ex : jdoe).
I have configured my system (Debian Squeeze) to authenticate against LDAP
(libpam-ldapd + libnss-ldapd with a mapping uid<->eduPersonPrincipalName),
if I do ? ssh jdoe at server ?, it's works great.
Now I want to give Samba share to theses users so I configured Samba
(3.5.6) to connect to LDAP but I cannot authenticate with
eduPersonPrincipalName, if I use the ? uid ?, it's works.
I have searched for a mapping option in samba but I didn't found...
Is it possible to map ? uid ? attribute to another attribute ? If yes, how ?
Here the smb.conf :
[global]
server string = %h server
obey pam restrictions = Yes
passdb backend = ldapsam:"ldap://192.168.102.153"
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n
*Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
domain logons = Yes
domain master = Yes
dns proxy = No
ldap admin dn = cn=admin,dc=example,dc=fr
ldap group suffix = ou=groups
ldap passwd sync = yes
ldap suffix = dc=example,dc=fr
ldap ssl = no
ldap user suffix = ou=people
ldap debug level = 1
ldap debug threshold = 1
panic action = /usr/share/samba/panic-action %d
[netlogon]
path = /srv/samba/netlogon
write list = P1234
browseable = No
[profiles]
path = /srv/samba/export/profiles
valid users = %U
read only = No
create mask = 0600
directory mask = 0700
profile acls = Yes
browseable = No
[homes]
comment = Home Directories
valid users = %S
create mask = 0700
directory mask = 0700
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
Here the slapd log which show the use of uid:
May 24 15:34:08 docs-test slapd[623]: conn=1149 fd=19 ACCEPT from
IP192.168.102.153:55825 (IP=0.0.0.0:389)
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=0 BIND
dn="cn=admin,dc=example,dc=fr" method=128
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=0 BIND
dn="cn=admin,dc=example,dc=fr" mech=SIMPLE ssf=0
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=0 RESULT tag=97 err=0
textMay 24 15:34:08 docs-test slapd[623]: conn=1149 op=1 SRCH base=""
scope=0
deref=0 filter="(objectClass=*)"
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=1 SRCH
attr=supportedControl
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=1 SEARCH RESULT tag=101
err=0 nentries=1 text
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=2 SRCH
base="dc=example,dc=fr" scope=2 deref=0
filter="(&(uid=sderosiaux)(objectClass=sambaSamAccount))"
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=2 SRCH attr=uid
uidNumber gidNumber homeDirectory sambaPwdLastSet sambaPwdCanChange
sambaPwdMustChange sambaLogonTime sambaLogoffTime sambaKickoffTime cn sn
displayName sambaHomeDrive sambaHomePath sambaLogonScript sambaProfilePath
description sambaUserWorkstations sambaSID sambaPrimaryGroupSID
sambaLMPassword sambaNTPassword sambaDomainName objectClass sambaAcctFlags
sambaMungedDial sambaBadPasswordCount sambaBadPasswordTime
sambaPasswordHistory modifyTimestamp sambaLogonHours modifyTimestamp
uidNumber gidNumber homeDirectory loginShell gecos
May 24 15:34:08 docs-test slapd[623]: conn=1149 op=2 SEARCH RESULT tag=101
err=0 nentries=0 textMay 24 15:34:08 docs-test slapd[623]: conn=1149 fd=19
closed (connection
lost)
Thanks for advice,
Sylvain
miguelmedalha at sapo.pt
2012-May-24 14:07 UTC
[Samba] Samba / LDAP : map uid to another field ?
I am not sure if you can act on the samba side. Maybe you should think the other way around. You can map one attribute to another inside the LDAP server. You would use the "map attribute" directive to map "eduPersonPrincipalName" to "uid". Both logins would then authenticate against "uid".
Unfortunaly, I cannot do this since the two attributes are different meaning and are used in another applications so maybe with a local LDAP replica and use of your tricks will works. I will try if there are no "Samba" solutions. Thanks :) 2012/5/24 <miguelmedalha at sapo.pt>> > I am not sure if you can act on the samba side. Maybe you should think the > other way around. You can map one attribute to another inside the LDAP > server. > > You would use the "map attribute" directive to map > "eduPersonPrincipalName" to "uid". Both logins would then authenticate > against "uid". > >