Newsgroup: it.comp.os.linux.sys
Titolo: Samba PDC, LDAP e casini vari

Cominciamo dall'inizio. In ufficio abbiamo deciso di migrare tutti i
servizi che richiedono un'autenticazione verso una base comune. Inoltre,
abbiamo deciso che, per fare cio`, ci serviva anche un dominio Windows.
Per attuare il tutto, ho quindi preso una macchina di test, vi ho
installato Samba, l'ho connesso ad un server LDAP (anch'egli di test), e
l'ho provato ad avviare.
E qua c'e` subito da fare una piccola digressione. Tutti gli HOWTO che
mi sono letto dicono di utilizzare i smbldap-tools di IDEALX per la
gestione di Samba + LDAP. Pero`, quello tra le cose che dicono, vi e`
scritto chiaramente che per utilizzare Samba come PDC deve essere
inserito in un'apposita voce il risultato del comando `net
getlocalsid`, in modo da poter popolare l'albero immettendogli anche
il SID del server PDC. Il problema e` che quel comando riporta un SID
differente da quello del dominio, e che per ottenere quest'ultimo deve
essere utilizzato `net getdomainsid`.
Corretto questo problema, mi sono scontrato con un problema un po' piu`
rognoso, ovvero gli utenti si connettono ma gli viene ritornato un
errore dicendo loro che devono utilizzare un profilo locale. Seguendo
sempre la documentazione, ho creato le directory netlogon e profiles ma,
a quanto pare, queste non vengono utilizzate correttamente da Samba.
L'errore riportato al momento del login, infatti, e` questo:
[2007/02/02 13:23:27, 2] smbd/service.c:make_connection_snum(580)
  user 'ebianchi' (from session setup) not permitted to access this
share (profiles)
[2007/02/02 13:23:27, 3] smbd/error.c:error_packet(146) error packet at
smbd/reply.c(676) cmd=117 (SMBtconX) NT_STATUS_ACCESS_DENIED
(l'errore e` stato generato con il log a 3). E qua non so piu` cosa
fare. Le directory di netlogon, profiles, e la home directory
dell'utente hanno i permessi impostati correttamente (eccetto la home
directory dell'utente, che come gruppo appartiene a users invece di
Domain Users). A questo, inoltre, si aggiunge un altro errore strano. A
quanto pare, Samba come script da lanciare subito dopo la connessione
dell'utente, non prende in considerazione il parametro definito nelle
impostazioni globali, ma quello riportato nella definizione dell'utente
nell'albero LDAP. Il problema e` che sembra che lo prende in
considerazione solo quando lo ritiene piu` comodo. Infatti, se lascio il
valore predefinito nell'albero LDAP, questo viene montato correttamente.
Se invece modifico tale parametro (sia con il comando smbldap-usermod
che a mano), questo non viene piu` preso in considerazione:
[2007/02/02 13:25:08, 3] smbd/msdfs.c:dfs_redirect(435)
  dfs_redirect: Not redirecting NED/netlogon/ebianchi.bat.
[2007/02/02 13:25:08, 3] smbd/msdfs.c:dfs_redirect(439)
  dfs_redirect: Path converted to non-dfs path ebianchi.bat
[2007/02/02 13:25:08, 3] smbd/trans2.c:call_trans2qfilepathinfo(2959)
  call_trans2qfilepathinfo ebianchi.bat (fnum = -1) level=1004 call=5
total_data=0 [2007/02/02 13:25:08, 3] smbd/process.c:process_smb(1110)
Transaction 20 of length 136 [2007/02/02 13:25:08, 3]
smbd/process.c:switch_message(914) switch message SMBntcreateX (pid
4745) conn 0x841f0a0 [2007/02/02 13:25:08, 3]
smbd/error.c:error_packet(146) error packet at smbd/nttrans.c(647)
cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_PATH_NOT_FOUND
Anche in questo caso, il file e` completamente leggibile e si trova
nella posizione corretta.
Qualcuno ha un qualche barlume di idea? La versione di Samba che uso e`
la 3.0.23d-4 presente su Debian testing
Enrico
P.S. ho gia` cercato in giiro, ma non sono riuscito a trovare nulla...

 share (profiles)
La butto lě come una stupidata, ma dato che ho finito qualche giorno fa 
di tirare su pure io un PDC su Testing magari posso essere d'aiuto in 
qualche modo: hai controllato se le share in smb.conf sono configurate 
correttamente? Questo č quello che ho messo io per "profiles":
[profiles]
    comment = Users profiles
    path = /var/lib/samba/profiles
    guest ok = no
    browseable = no
    create mask = 0600
    directory mask = 0700
    read only = no
    profile acls = yes
    force user = %U
    valid users = %U "Domain Admins"
I permessi della directory relativa sono
drwxr-xrwt  3 root root  4096 2007-01-22 17:22 profiles
Mi sono basato anche io su vecchi post e howto trovati in rete, ma devo 
dire che non sono tutti esattamente corretti e per tanta parte sono 
dovuto andare a naso, quindi prendi tutto con beneficio di inventario.
Credo di aver avuto anche io un errore simile al tuo, cmq, e il 
"problema" era dovuto al fatto che avevo omesso la direttiva "read only 
= no". Magari č solo quello...
Marco

 correttamente? Questo è quello che ho messo io per "profiles":
Scusa se rispondo solo ora, ma non avevo sotto mano il file di
configurazione. Praticamente, il problema del profilo era dovuto a
questo, ovvero la share [profiles] era configurata in maniera non valida
(in valid users non avevo lasciato uno spazio tra %U e @"Domain
Admins"). Ora praticamente mi e` rimasto come problema da risolvere solo
il discorso che il file di startup non e` personalizzabile per utente.
Come ho gia` detto, invece del file di configurazione viene presa in
considerazione l'entry presente nel database LDAP, ma se provo a
modificarla (e.g. da logon.bat la passo a ebianchi.bat) ottengo il
messaggio di errore riportato nel post precedente.
Grazie per il tuo aiuto, e a buon rendere
Enrico