Newsgroup: it.comp.os.linux.sys
Titolo: LDAP - ACL - SAMBA

Ciao,
stò configurando samba con autentificazione LDAP seguendo le istruzioni
sul sito di IDEALX.
Inserendo gli utenti come root dn va tutto, ma se provo a cambiare utente,
per la gestione degli utenti di samba e se provo a mettere le ACL come da
istruzioni di IDEALIX
access to
attrs=@sambaSamAccount,@sambaGroupMapping,@sambaTrustPassword,@sambaDomain,/
@sambaShare,@sambaConfigOption,@sambaPrivilege
        by dn="cn=samba,ou=DSA,dc=idealx,dc=org" write by self read
Il demone slapd mi da errore al suo riavvio su @sambaSamAccount
Google mi ha aiutato poco, in quanto tutte le configurazioni viste non
prevedono ACL simili (con @)
attrs=<attribute> val[.<style>]=<regex>
Man ldap mi da come campo attrs quello qui sopra .... dove <attribute> se
non sbaglio non è @sambaSamAccount ... che è il valore dell'attribute.
Quindi penso: o non si può fare, o la sintassi di IDEALIX è sbagliata!
Ciao
-- 
------------------------------------------
Togliere aldruz- per rispondermi via e-mail
------------------------------------------

         by dn="cn=samba,ou=DSA,dc=idealx,dc=org" write by self read
perche' ci metti le @? il server ldap si incavola perche' i nomi degli 
attirbuti non le hanno. Leggi samba.schema se vuoi la prova della cosa.



Veramente questi @sambaSamAccount,@sambaGroupMapping,@sambaTrustPassword,@sambaDomain,/
@sambaShare,@sambaConfigOption,@sambaPrivilege non dovrebbero essere
attributi, ma i valori del campo objectClass ....
Cioè in
access to attrs=uidNumber,gidNumber
        by dn="cn=samba,ou=DSA,dc=kaiman,dc=local" write
        by dn="cn=nssldap,ou=DSA,dc=kaiman,dc=local" read
        by self read
uidNumber,gidNumber sono attributi
attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
        MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
mentre @sambaSamAccount,@sambaGroupMapping,@sambaTrustPassword,@sambaDomain,/
@sambaShare,@sambaConfigOption,@sambaPrivilege
questi sono ???? objectClass ???? Quindi il @ non serve comunque? (Il @
l'ho messo perchè è scritto nella configurazione di esempio sul sito
IDAELX 
http://samba.idealx.org/smbldap-howto.en.html#htoc34
)
objectclass ( 1.3.6.1.4.1.7165.2.2.6 NAME 'sambaSamAccount' SUP top AUXILIARY
        DESC 'Samba 3.0 Auxilary SAM Account'
        MUST ( uid $ sambaSID )
        MAY  ( cn $ sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $
               sambaLogonTime $ sambaLogoffTime $ sambaKickoffTime $
               sambaPwdCanChange $ sambaPwdMustChange $ sambaAcctFlags $
               displayName $ sambaHomePath $ sambaHomeDrive $ sambaLogonScript $
               sambaProfilePath $ description $ sambaUserWorkstations $
               sambaPrimaryGroupSID $ sambaDomainName $ sambaMungedDial $
               sambaBadPasswordCount $ sambaBadPasswordTime $
               sambaPasswordHistory $ sambaLogonHours))


 attributi, ma i valori del campo objectClass ....
azz.. vero... non ci avevo fatto caso, perche' di solito io nascondo gli 
attributi, non le objectclass....
prova a lanciare da shell slapd -d 16000 e guarda cosa dice



[root@smbkkk root]# slapd -d 16000
daemon: socket() failed errno=97 (Address family not supported by protocol)
bdb_initialize: Sleepycat Software: Berkeley DB 4.1.25: (December 19, 2002)
Global ACL: access to attrs=userPassword,sambaNTPassword,sambaLMPassword
        by dn.regex=cn=samba,ou=DSA,dc=kkk,dc=local write(=wrscx)
        by dn.regex=cn=nssldap,ou=DSA,dc=kkk,dc=local write(=wrscx)
        by self write(=wrscx)
        by anonymous auth(=x)
Global ACL: access to attrs=objectClass,entry
        by dn.regex=cn=samba,ou=DSA,dc=kkk,dc=local read(=rscx)
        by dn.regex=cn=nssldap,ou=DSA,dc=kkk,dc=local read(=rscx)
        by dn.regex=cn=postfix-auth,ou=DSA,dc=kkk,dc=local read(=rscx)
        by self read(=rscx)
Global ACL: access to attrs=uidNumber,gidNumber
        by dn.regex=cn=samba,ou=DSA,dc=kaiman,dc=local write(=wrscx)
        by dn.regex=cn=nssldap,ou=DSA,dc=kaiman,dc=local read(=rscx)
        by self read(=rscx)
Global ACL: access to attrs=description,telephoneNumber
        by dn.regex=cn=samba,ou=DSA,dc=kkk,dc=local write(=wrscx)
        by self write(=wrscx)
        by users read(=rscx)
/etc/openldap/slapd.conf: line 101: unknown attr "@posixAccount" in to clause
<access clause> ::= access to <what> [ by <who> <access> [ <control> ] ]+
<what> ::= * | [dn[.<dnstyle>]=<regex>] [filter=<ldapfilter>] [attrs=<attrlist>]
<attrlist> ::= <attr> | <attr> , <attrlist>
<attr> ::= <attrname> | entry | children
<who> ::= [ * | anonymous | users | self | dn[.<dnstyle>]=<regex> ]
        [dnattr=<attrname>]
        [group[/<objectclass>[/<attrname>]][.<style>]=<regex>]
        [peername[.<style>]=<regex>] [sockname[.<style>]=<regex>]
        [domain[.<style>]=<regex>] [sockurl[.<style>]=<regex>]
        [ssf=<n>] [transport_ssf=<n>] [tls_ssf=<n>] [sasl_ssf=<n>]
<dnstyle> ::= regex | base | exact (alias of base) | one | subtree | children
<style> ::= regex | base | exact (alias of base)
<groupflags> ::= R
<access> ::= [self]{<level>|<priv>}
<level> ::= none | auth | compare | search | read | write
<priv> ::= {=|+|-}{w|r|s|c|x}+
<control> ::= [ stop | continue | break ]
è chiaro che non gli piace @posixAccount .. 
mi sono studiato in giro varie configuraizioni, ma non ho trovato nulla
che richiamasse i controlli sulle objectClass ...


 che richiamasse i controlli sulle objectClass ...
e se gli togli la @?
Comunque, nella documentazione degli smbldaptools non dicono di 
nascondere tutta la objectclass ma solo gli attributi legati alle password.
Non so se nascondendo tutti gli oggetti completi samba puo' funzionare 
correttamente.

 correttamente.
-- 


 Cosa intenti per "nascondere" ?
l'acl serve per fare in modo che solo il rootdn e/o l'utente possano 
leggere e srcivere la password. Se sei sotto debian e installi gli 
smbldap-tools in /usr/share/doc/smbldap-tools c'e' un quickstart che ti 
fa vedere come configurare l'acl. Purtroppo non ho un server ldap sotto 
mano per andare a vedere di preciso adesso.