Samba e Active Directory (3 di 3): configurare pam per l’autenticazione locale

75

Nel precedente articolo sono stati illustrati i metodi per effettuare delle interrogazioni ad un dominio Active Directory attraverso una macchina Linux al cui interno è configurato SAMBA. Nell’ultimo esempio illustrato l’esito dell’interrogazione presentava un elenco del tutto simile al contenuto del file /etc/passwd che in ogni sistema Linux contiene le informazioni di accesso degli utenti.…

samba

Nel precedente articolo sono stati illustrati i metodi per effettuare delle interrogazioni ad un dominio Active Directory attraverso una macchina Linux al cui interno è configurato SAMBA. Nell’ultimo esempio illustrato l’esito dell’interrogazione presentava un elenco del tutto simile al contenuto del file /etc/passwd che in ogni sistema Linux contiene le informazioni di accesso degli utenti. La riflessione nata spontaneamente è quindi se si può fare in modo che il sistema sia configurato per supportare l’autenticazione via Active Directory in fase di login. La riposta è sì, ecco spiegato come.

Condividere una cartella

La configurazione illustrata nel primo articolo della serie consente di autenticare l’accesso a cartelle condivise mediante le credenziali presenti nel Active Directory.
Per condividere una cartella è sufficiente aggiungere al file di configurazione di SAMBA /etc/samba/smb.conf una dichiarazione come la seguente:

[Test]
        comment = Test
        path = /samba/test
        write list = DOMINIO.IT/user1
        read list = @"DOMINIO.ITgruop1"
        read only = Yes
        browseable = Yes
        create mask = 0775
        directory mask = 0775

dopo aver effettuato il reload del servizio attraverso il comando:

$ /etc/init.d/samba reload

la directory, supponendo che l’indirizzo IP della macchina sia 192.168.0.100, sarà disponibile per l’accesso dalla rete all’indirizzo //192.168.0.100/Test. L’utente DOMINIO.ITuser1 (così andrà digitato alla schermata di login) avrà il permesso di scrittura mentre tutti gli utenti del gruppo DOMINIO.ITgroup1 potranno accedere in lettura alla condivisione.

Ma questa è solo la punta dell’iceberg. Come già detto, la configurazione di SAMBA permette di sfruttare il metodo di autenticazione in modo che il sistema stesso in fase di login si riferisca al dominio Active Directory.

PAM, brevemente

PAM (Pluggable Authentication Modules) definisce un metodo standard ad alto livello per gestire l’autenticazione. Questo strato è comune a tutti i sistemi Linux (sebbene le varie versioni non operino tutte allo stesso modo) e consente a coloro i quali sviluppano servizi con autenticazioni proprie di creare moduli che rispettino l’interfaccia di programmazione relativa a PAM.
In questo modo, potenzialmente, qualunque sistema di autenticazione può essere integrato con il login di sistema.
Una panoramica dettagliata di quello che è PAM e di come funziona è disponibile presso Kernel.org, precisamente a questo link: http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html.

Integrazione di winbind con PAM per il login via Active Directory

La configurazione di PAM all’interno del sistema è contenuta in una serie di file, in Debian Lenny, la distribuzione utilizzata in questa serie di articoli, tali file si trovano nella cartella /etc/pam.d:

$ ls -1 /etc/pam.d/
chfn
chsh
common-account
common-auth
common-password
common-session
cron
login
omauth
other
passwd
samba
ssh
su

In particolare i file interessati nella fase di login sono common-account, common-auth e common-session.

La componente SAMBA che gestisce l’interfacciamento con Active Directory è, come già spiegato, winbind. Il pacchetto fornito con le maggiori distribuzioni fornisce, fra gli altri, quello che è il file base per l’introduzione di Active Directory nel login di sistema: pam_winbind.so. Tale file dovrà essere introdotto all’interno della configurazione del sistema di login.

Il primo file ad essere modificato dovrà essere /etc/pam.d/common-account il cui contenuto dovrà essere il seguente:

account sufficient      pam_winbind.so
account required        pam_unix.so

Questo file di default controlla che la password dell’utente non sia scaduta. Con l’aggiunta della riga relativa a winbind inoltre assume come sufficiente la credenziale verificata da Active Directory.

Il secondo file da considerare sarà /etc/pam.d/common-auth che di default impone l’utilizzo del meccanismo UNIX standard per l’autenticazione. Tale file dovrà assumere questo contenuto:

auth    sufficient      pam_winbind.so
auth    required        pam_unix.so nullok_secure use_first_pass

Quanto inserito comunica al sistema di considerare sufficiente l’avvenuta autenticazione con winbind. Nella seconda riga viene aggiunto il parametro use_first_pass in modo che venga utilizzata la prima password inserita per autenticare l’utente e prevenire una doppia richiesta di inserimento per la parola d’ordine.

L’ultimo file che andrà modificato è /etc/pam.d/common-session che contiene le informazioni relative alle sessioni interattive e non che l’utente potrà avviare:

session required        pam_unix.so
session required        pam_mkhomedir.so skel=/etc/skel umask=0022

rispetto al default viene aggiunta la riga relativa al modulo pam_mkhomedir.so per fare in modo che il sistema per ogni utente identificato che non possiede una home directory ne crei una ex-novo partendo dalle specifiche presenti nel file di /etc/skel con i permessi di scrittura relativi.

Prova di login

A questo punto il sistema è pronto a permettere il login alle utenze Active Directory, relativamente a tutti i servizi, compreso ssh:

$ ssh "DOMINIO.IT\user1"@192.168.0.100
DOMINIO.ITuser1@192.168.0.100's password: 
Creating directory '/home/DOMINIO.IT/user1'.
Linux anomalia 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
DOMINIO.IT\user1@anomalia:~$ 

Essendo il primo tentativo di login effettuato e data la configurazione PAM precedentemente illustrata, il sistema ha creato la directory /home/DOMINIO.IT/user1.
Nella cartella /home/DOMINIO.IT verranno pertanto registrate tutte le home directories relative agli utenti:

$ ls -la /home/DOMINIO.IT/
totale 12
drwxr-xr-x 3 root                    root                             4096  9 apr 17:32 .
drwxr-xr-x 3 root                    root                             4096  9 apr 17:32 ..
drwxr-xr-x 2 DOMINIO.IT\user1 DOMINIO.IT\domain users 4096  9 apr 17:32 user1

L’accesso al sistema degli utenti Active Directory è garantito nella stessa medesima forma degli utenti di sistema standard.

Conclusioni

Questa panoramica di SAMBA ha voluto illustrare quello che è lo stato dell’arte dell’integrazione tra SAMBA e Microsoft Active Directory ad oggi, ma moltissime sono le novità che bollono in pentola dal team di sviluppo del progetto Samba. La versione 4 è ormai una realtà e sebbene la strada verso la prima release stabile sia lunga, le aspettative in merito sono altissime. Questa versione sarà la prima ad integrare la completa gestione di Active Directory ed un’altra serie di importanti novità che potranno, perché no, essere argomento di un prossimo articolo.

Articoli della serie

Samba e Active Directory (1 di 3): diventare parte di un Dominio
Samba e Active Directory (2 di 3): interrogare il dominio
Samba e Active Directory (3 di 3): configurare pam per l’autenticazione locale

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

Iscriviti
Notificami
guest
75 Comments
Marco

Ciao! Complimenti per la guida!! Direi perfetta 😀 l’unico problema che ho riscontrato, è che non riesco a gestire i permessi degli utenti di cominio!!Sembra che vengano utilizzati solo quelli locali.. e quindi tutti (utenti di dominio) hanno gli stessi permessi! 🙁

Grazie

Marco

Grazie della risposta!
Il mio obiettivo è utilizzare un server linux con samba come nas. Vorrei poter assegnare qualsiasi permesso alle cartelle condivise, che potranno essere lette/scritte da uno o più utenti.
Attualmente riesco ad accedere alla cartella test, perchè sono utente del dominio(da un pc non nel dominio,chiede giustamente user e password), ma non riesco a definire i permessi di lettura o scrittura. Come se gli utenti impostati nel file smb.conf venissero ignorati.
Se invece imposto “valid users = nome_utenti_ammessi” non mi fa più accedere chiedendo mostrando sempre la finestra di login.

Marco

Diciamo che funziona tutto perfettamente fino alla parte 2di3 di questa guida

Marco

Spero di non sembrare seccante, ma volevo informarti sulle novità 🙂
Allora, “ho scoperto” che come detto prima, riguardo ai permessi cioò che scrivo nel file, non viene eseguito, mentre ho provato ad agire da linea di comando e con chown, chgrp e chmod riesco a fare tutto 😀 Ma non so se è questo il metodo giusto!

Marco

Quindi questo è effettivamente il metodo corretto?
E se devo assegnare i permessi di scrittura di una cartella a più persone come faccio? Devo creare ogni volta un gruppo?
Potrei farti altre domande se a te non scoccia?

Grazie mille

Marco

Ok, ma l’aspetto negativo, rispetto ad un nas ad esempio, è che per ogni cartella dove devono avere accesso più utenti, devo ogni volta creare un gruppo… potrei ritrovarmi così anche 50 gruppi!.. Ma è possibile che un utente appartenga a più gruppi?

Marco

Va bene, grazie 😀
Però in un nas è meno macchinoso perchè non devi creare gruppi, ma associ gli utenti direttamente. (E tu dirai..usa un nas allora! 😛 )
approfitto della conoscenza se permetti 😛
Ho notato che riavviando il servizio samba, mi sega la connessione da risorse di rete… quindi il collegamento con i file, è normale?

Ma dopo aver configurato i permessi da linea di comando, per una cartella Samba allora bastano 4 righe così?:
[nomecartella]
path = /samba/nomecartella
browseable = yes
writeable = yes

Marco

Ho verificato che se uso questo comando “valid users = @”DOMINIO\gruppo””
non mi fa accedere più alla cartella chiedendo sempre user e password..

Marco

Ok, verifico.. Ma come mai nell’esempio più sopra hai indicato # chmod 2770 dir1?
Non sono tre i numeri da indicare? Che corrisposono a Proprietario-Gruppo-Altri.
In “valid users = DOMINIO/utente” è possibile scrivere più utenti?
O bisogna usare sempre i gruppi?

Marco

Mi correggo riguardo a:
“Ho verificato che se uso questo comando “valid users = @”DOMINIO\gruppo””
non mi fa accedere più alla cartella chiedendo sempre user e password..”

Non mi da più questo problema.

Marco

Grazie ancora di tutto!
Solo un’ultima cosa, ho creato i vari gruppo in active direcotry su W2003, ma con chgrp me li riconosce, ma poi gli utente appartenenti al gruppo non riescono ad accedere alle cartelle! ;(
Ho scordato qualcosa?
Gruppi windows-> utenti windows-> chgrp gruppo_windows

Marco

Ha preso a funzionare dopo 2 restart di samba…vabbè!
Hai detto che ti è capitato di fare configurazioni complesse, mi se è posto il problema di avere che 3 utenti debbano scrivere su una cartella(creo il gruppo ok..), ma altri 3 devono solo poter leggere… Come assegno questi permessi?
Mi sembra che in linux esista solo proprietario e gruppo proprietario.. O sbaglio?

Marco

Ri-ciao! Mi è sorto un nuovo dubbio, può essere che la modifica al file /etc/pam.d/common-auth
centri con il fatto che ora il sistema mi richiede sempre la password di root 2 volte e non 1?

auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

Marco

Grazie della risposta, e scusa se ti disturbo spesso, sto cercando di risolvere un problema lagato a i file access con Samba; praticamente tutti possono leggere e scrivere il file, ma se vi accedono più persone contemporaneamente, poco dopo appare un messaggio d’errore di rete. Leggevo qui http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html di questo “oplocks” e volevo capire se è la soluzione adatta a me. A te è già capitato di gestire file Access dove più persone leggono e scrivono? Grazie mille per l’eventuale risposta!

Marco

Eh ma purtroppo questo è un database dove accedono per forza più persone…. Ahimè questa realtà è molto diffusa..

Gianluca

Ciao, complimenti per l’ottima guida! l’ho seguita passo passo e sono riuscito a diventare parte del dominio active directory. ho però un problema:
ho ubuntu 9.10 che si collega ad un server microsoft server 2008.
nella finestra di accesso ad ubuntu, se entro con il nome utente e password di un membro del dominio active directory , parte il caricamento di ubuntu (e sono sicuro che mi riconosce perche al primo accesso mi ha creato la home directory) però dopo qualche secondo mi torna alla schermata di accesso dove devo inserire username e password!
se invece cerco di effettuare l’accesso tramite console testuale mi fa accedere ma mi compare una negazione dei permessi per quanto riguarda la directory “./profile”, così:
“-bash /home/MIODOMINIO/gianluca/.profile: Permesso negato”

Hai qualche idea per risolvere? grazie mille in anticipo!

Gianluca

intanto grazie mille della risposta tempestiva..

mi trovo un pò spaesato in questo contesto, potresti essere un pò più dettagliato su cosa potrei fare per capire da cosa proviene quel “permesso negato”?..

a quali file di log devo fare riferimento?

Maurizio Samuele

Ciao, complimenti per la guida.
Vorrei aprofittare della tua esperienza per una consulenza se puoi;
ho aggiunto a un dominio win2003 AD un server con CentOS 5.4 x86_64 con la home divisa in due, 100GB per una macchina virtuale win2003 e 100GB da condividere con samba per gli utenti del dominio.
Ho realizzato la configurazione utilizzando le Tue linee guida, salvo avere dei problemi con la parte relativa allo share; io volevo che solo gli utenti di dominio che fanno parte del gruppo denominato “Servizio pippo” acceda a questa condivisione sia in lettura che in scrittura e in maniera anche multipla su file .mdb di access, oltre che al gruppo Administrator.
Per fare ciò ho inserito la direttiva:
valid users = %D+%S ma questa direttiva dava accesso a tutti gli utenti di AD;
dopo un po’ di prove ho realizzato che la direttiva giusta era:
valid users = @%D+”Servizio pippo”
mentre per l’utente amministratore ho dovuto inserire il nome dei due utenti singoli che sono anche amministratori di dominio perchè la direttiva
valid users = @%D+”Administrators” non funzionava.
Sul file system ho dato come permessi alla directory base ” chmod -R 774″ e come proprietari ho dato “chown -R root:domain users”.
Secondo Te è giusto quello che ho fatto?
Ci sono altri parametri che dovrei specificare nella sezione share?
io ho inserito anche:
create mask = 774
directory mask = 774
msdfs root = yes
dos filemode = yes
inherit permissions = yes
vanno bene o sono superflui?
Grazie.

Maurizio Samuele

Dubbi chiariti!
Grazie mille per l’attenzione dedicatami e la velocità della risposta.

Francesco Chiriaco

Mi inchino alla tua chiarezza e ti ringrazio infinitamente.
3 articoli spettacolari e utilissimi.

Grazieeee !

adolfo enrique

Grazie per le guide e le risposte che ho trovato estremamente chiare ed esaurienti.
Ho agganciato ad un’AD 2 server ubuntu che fungono da file server e vanno benissimo.
solo che in uno, quando accedo finisco nella cartella /NOMEDOMINIO/HOME/UTENTE
mentre nell’altro, viene creata una cartella /XXXX/HOME/UTENTE
dove XXXX è un numero (spesso diverso, ma non sempre)
potresti darmi una mano anche su questo?

ancora, grazie mille per il lavoro

adolfo enrique

infatti sto verificando ancora una volta l’allineamento delle 2 configurazioni. ma trovo tutto apparentemente identico. /krb5.conf, /smb.conf…

grazie comunque!

adolfo enrique

scusa per il ritardo! infatti e’ evidente che qualcosa non e’ corretto nella configurazione. la risposta alla stringa d’interrogazione è
“Could not get info for user .NOME_UTENTE.”
(anche dopo aver fatto un kinit -V e da sudo)
il problema è che ho una 20na di utenti che già lavorano nelle condivisioni di SAMBA, altrimenti piallavo e ripartivo daccapo

adolfo enrique

grazie per la tua pazienza.
quali log di preciso?
qui riporto un sunto di ‘log.winbindd-idmap’
—————–
[2010/05/27 13:21:19, 0] winbindd/idmap.c:149(smb_register_idmap)
Idmap module nss already registered!
[2010/06/03 08:38:50, 0] winbindd/idmap.c:201(smb_register_idmap_alloc)
idmap_alloc module tdb already registered!
[2010/06/03 08:38:50, 0] winbindd/idmap.c:149(smb_register_idmap)
Idmap module passdb already registered!
[2010/06/03 08:38:50, 0] winbindd/idmap.c:149(smb_register_idmap)
Idmap module nss already registered!
————–
e di ‘log.winbindd-dc-connect’
————–
[2010/04/06 08:26:11, 1] libads/cldap.c:154(recv_cldap_netlogon)
no reply received to cldap netlogon
[2010/04/29 13:56:42, 1] libads/cldap.c:154(recv_cldap_netlogon)
no reply received to cldap netlogon
————–
indubbiamente non sono allettanti, ma non saprei come correggere.

Andrea Z

Ciao, innanzitutto voglio farti i miei complimenti per questi tre articoli, scritti in modo veramente chiaro e completo; non se ne trovano di guide fatte così bene sulla Rete!
Grazie alla lettura di questa tua guida, infatti, son riuscito nell’intento di mettere sotto dominio Windows una macchina linux, con tanto di gestione delle utenze e delle policies dei gruppi.

Volevo farti notare due piccole precisazioni al fine di migliorare ulteriormente il tuo articolo:

Riguardo ntpdate, trovo più utile interfacciare la macchina direttamente con l’orario del server di dominio che andremo ad utilizzare, per farlo basta digitare l’indirizzo IP del server al posto di “time.ien.it”.

Riguardo Samba, con le ultime versioni il demone si avvia/ferma tramite il comando:

# service smbd stop | start | restart

E invece per la questione delle policy di accesso\lettura\scrittura sulle cartelle condivise, ci ho perso la testa per capire bene il funzionamento, dato che su Internet tutti dicono una cosa diversa. Posso dire di avere risolto ogni problema mediante un semplice passaggio che non risulta nell’articolo.

Praticamente prima di poter “validare” gli users in lettura o scrittura tramite Samba, bisogna dare i permessi a tutti sul filesystem tramite:

# chmod -R 777 /directory/da/usare

e poi tramite Samba usando i parametri che hai descritto nella guida;
anche se io al posto di “read list” preferisco usare “valid users”.

È tutto, rinnovo ancora i miei complimenti e ti ringrazio per l’ottimo lavoro. 🙂

Andrea Z

Ciao Raoul, grazie per la velocità di risposta.

Ho appena provato a settare un chmod 770 sulla directory che voglio condividere ma sorge un problema; ovvero che non riesco nemmeno ad accedere alla cartella. Se metto 775 ci accedo ma non posso scrivere/cancellare, in barba al parametro
“write list = DOMINIO.IT\nome.utente” che teoricamente dovrebbe darmi abilitazione alla scrittura…

Perché il sistema non categorizza i gruppi Active Directory come la seconda cifra numerica, che di norma è quella che interessa i Gruppi, appunto? (non è forse “Owner”, “Groups”, “Others” la sequenza delle tre cifre?)
A quanto pare per abilitare i gruppi o gli utenti di Active Directory devo settare la cifra corrispondente ad “altri” sul 7, altrimenti nisba.

A questo punto stavo pensando… forse farei prima a cambiare il gruppo d’appartenza della directory con ‘chgrp’ e impostandolo sul gruppo generico “Domain Users” di AD, e poi servirmi di Samba per gestire le policy…
Il problema è che non so che comando dare per fargli capire di usare il gruppo di AD e non uno di sistema (quale root, utente, etc)…
Non so se mi sono spiegato, in caso me ne scuso.

Ti ringrazio già anticipatamente per i preziosi consigli e per il tempo che mi dedicherai, non c’è alcuna fretta in ogni caso. Ti auguro una buona giornata!

Andrea

Andrea Z

Ciao Raoul,

innanzitutto ancora mille grazie per la celerità e la professionalità con la quale rispondi.
Come seconda cosa volevo dirti che effettivamente cambiando il gruppo di appartenenza della directory, sono riuscito a fare tutto. Avevo già provato a cambiare gruppo tramite “chgrp” ma stupidamente non avevo considerato le virgolette nella sintassi e per questo non mi riconosceva il comando.

Ultima domanda, è possibile abilitare più gruppi a una directory tramite “chgrp”? No vero? Altrimenti si avrebbero più proprietari su una stessa directory, dico bene?
Questo perché nel dominio AD sono presenti davvero molti gruppi diversi, e magari più utenti sono in gruppi diversi contemporaneamente, ma magari potrebbero dover avere accesso anche in scrittura alla stessa directory.
Questo eventualmente si può risolvere appunto come dicevo prima, ovvero dando come proprietario della dir il gruppo generico “Domain Users” di AD, e poi gestire tramite SAMBA le writelist più opportune.

Che dire, rinnovo ancora i miei complimenti e i ringraziamenti!

Ciao e a presto!

Daniele

Ciao ti scrivo per cheidere un aiuto su samba.

Praticamente quando lancio il comando:

kinit Administrator @ MYDOMAIN

e poi verifico il risultato con klist, il server risponde:

Valid starting Expires Service principal
09/11/12 09:00:16 09/11/12 15:40:16 krbtgt/MYDOMAIN.LOCAL@DMYDOMAIN.LOCAL

Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

e fin qui non ci sono problemi.

Ma quando lancio il comando:

net ads join-U Administrator

il server risponde:

Administrator's password:
[2012/09/11 09:01:26, 0] utils/net_ads.c:ads_startup_int(286)
ads_connect: No logon servers
Failed to join domain: No logon servers

Lo stesso comando se lo lacnio dopo le 18:00 di sera, funziona e il server risponde:

[root@archivio ~]# net ads join -U Administrator
Administrator's password:
Using short domain name -- MYDOMAIN
Joined 'ARCHIVIO' to realm 'MYDOMAIN.LOCAL'

Ma quando la mattina dopo torno a lavoro, trovo il server sganciato dal domain controller, allora rilancio l’struzione net ads join -U Administrator, ma mi restituisce l’errore postato sopra.

Mi aiutate a risolvere questo problema?
E un mese che ci vado dietro..

Allego la configurazione del mio server:

file /etc/krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = DOMINIO.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true

[realms]
DOMINIO.LOCAL = {
kdc = server.dominio.local:88
admin_server = server.dominio.local:749
default_domain = dominio.local
}

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[domain_realm]
.dominio.local = DOMINIO.LOCAL
dominio.local = DOMINIO.LOCAL

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

file /etc/samba/smb.conf

### Global parameters
[global]
workgroup = DOMINIO
realm = DOMINIO.LOCAL
preferred master = no
netbios name = CUBE
server string = CUBE file server
security = ADS
encrypt passwords = yes
hosts allow = 10.0.0. 127.

log level = 3
log file = /var/log/samba/log_%U_%m
max log size = 50

winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes

idmap uid = 10000-20000
idmap gid = 10000-20000

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

### Sharing
[Public]
comment = Public
path = /home/DOMINIO/Public
read only = No
browseable = Yes
writeable = yes
public = yes
create mask = 0660
directory mask = 0770
valid users = @”DOMINIO+domain users”

[homes]
comment = Home
path = /home/DOMINIO/%U
browseable = no
writeable = yes
create mask = 0600
directory mask = 0700

file /etc/nsswitch.conf

passwd: compat winbind
shadow: compat
group: compat winbind

In piu volevo cheidervi a cosa servono questi parametri:

[libdefaults]
ticket_lifetime = 24000

[appdefaults]
ticket_lifetime = 36000
renew_lifetime = 36000

in rete non sono molto chiari..

Un grazie in anticipo..

Stefano

Ciao,piccola domandina.
Volevo creare un file server utilizzando ubuntu 12.10
al momento il server è configurato e perfettamente funzionante.Vorrei poi creare degli script, in fase di login,per mappare delle cartelle in base all’utente che effettua il login sulla sua macchina xp pro.
al momento queste mappature sono gestite da un client novel(che vorrei eliminare).

quindi io sotto ad per utente pippo,in fase di login gli creerei una mappatura che punta al server linux.

La mia necessità è quindi quella di condividere le informazioni ( utente/password di ad) su linux.
IL mio dominio è basato su windows 2000.

Qualcuno ha qualche esperienza?? funzionerà? non potendo fare upgrade del sistema ad,e non potendo spendere ulteriori risorse per licenze,volevo cercare di implementare una soluzione del genere 🙂

Grazie!

Stefano

Grazie mille per la risposta,al momento sono riusciuto,con qualche modifica,a procedere nella prima parte della guida.

mi trovo però con qualche errore durante il join al dominio.

Piccola curiosità :
durante l’esecuzione del comando kinit ho dovuto scrivere il comando con il nome dominio in maiuscolo.

inoltre nella configurazione di samba,ho inserito la riga
workgroup = DOMINIO

al momento fa la prima parte del join a dominio,in ad vedo il server,ma poi mi restituisce errore di update dns.
anche configurando il file hosts sul server linux, mi continua a dare il suddetto errore

Ciaoo

Stefano

Sto rifacendo una installazione pulita della macchina,dopo troppe modifiche mi perdo e preferisco iniziare da zero,soprattutto per affinare il disaster recovery.
Rifaccio la guida e faccio sapere 😉 grazie ancora,Ciao

Stefano

Riciao,il join lo fa tranquillamente,ho dovuto prima editare il file /etc/hosts specificando il FQDN.

al comando net ads info però ho diversi errori.

create_local_private_krb5_conf_for_domain : smb:mkstemp failed, for file /var/run/samba/smb_tmp_krb5.uPpV89, errno permesso negato

create_local_private_krb5_conf_for_domain : smb:mkstemp failed, for file /var/run/samba/smb_tmp_krb5.6GbT3o, errno permesso negato

inoltre non capisco perchè il ldap server e il kdc server viene indicato il secondo dc che ho e non il primo dc che ho assegnato anche come admin server.

Stefano

se faccio la prova con il comando net -U Administrator ads user -l restituisce il medesimo errore,è come se non riuscisse ad interrogare il primo dc ma solamente il secondo.infatti mi fa vedere tranquilla tutta la lista utenti/grupppi.

Stefano

sto cercando info a riguardo 🙂
al momento sono passato al punto in cui ho condiviso una cartella,ma non è possibile accederci da una macchina in dominio,( logicamente essendo loggato con lo stesso utente specificato nella configurazione di test della condivisione ).

Faccio sapere appena trovo qualcosa

Stefano

al momento se tutti i comandi li eseguo anteceduti con il sudo allora non mi restituisce nessun problema.
Quindi il problema nasceva da li:) domani o la prossima settimana continuo con la guida per cercare di far partire le condivisioni! Grazie ancora

Daniele

Ciao volevo cheiderti una cosa riguardo al comando:
for i in `wbinfo -u –domain=DWI` do wbinfo -i “$i” done

Praticamente ultimamente ho aggiunto 3 nuove utenze windows in Active Directory, pero quando lancio il comando sopra indicato per questre tre mi ritorna il messaggio:

Could not get info for user DOMINIO\XXX

Inotlre ho modificato il parametro:
idmap uid = 10000-20000
idmap gid = 10000-20000
in:
idmap uid = 20000-30000
idmap gid = 20000-30000

pero quando mi fa vedere la mappatura con il comando:

for i in `wbinfo -u –domain=DWI` do wbinfo -i “$i” done

ho ancora il vecchio range.

Premetto di aver riavviato i servizi Samba e Winbind

Grazie mille in anticipo.

Daniele

Grazie mille funziona

Luca

Ciao,
innanzitutto complimenti per l’ottimo lavoro!!!

Sto seguendo la tua guida utilizzando samba4. Vorrei chiederti alcune cose perchè non tutto mi torna:

– net ads join -U Administrator
mi resituisce Failed to join domain: Failed to set account flags for machine account (NT_STATUS_NOT_SUPPORTED) mentre se faccio net ads join -U Administrator -S sdc.my.domain ottengo Using short domain name — MY
Joined ‘SON-SERVER’ to dns domain ‘my.domain’
DNS Update for son-server.my.domain failed: ERROR_DNS_UPDATE_FAILED
DNS update failed: NT_STATUS_UNSUCCESSFUL

– l’autenticazione kerberos funziona correttamente

– Il wbinfo -u e -g funziona correttamente e mi restituisce la lista di tutti gli utenti ma quando provo a fare for i in `wbinfo -u –domain=MY.DOMAIN` do wbinfo -i “$i” done hootengo il classico failed to call wbcGetpwnam: WBC_ERR_DOMAIN_NOT_FOUND
Could not get info for user “nome.cognome”

Ti ringrazio in anticipo per qualsiasi consiglio e per il lavoro che hai fatto!

CiaoCiao

Luca

Aggiornamento della mia domanda: ho risolto i primi due punti, ma mi resta il problema del wbinfo: non riesco ad importare gli utenti, eppure vedo la lista di utenti e gruppi!

Anche
net -U Administrator ads user -l
e
net -U Administrator ads group -l
funzionano…

Luca

Grazie per la pronta risposta!

Capisco i messaggi di prima fossero un po’ vaghi ma non sapevo che pesci pigliare.. nel mentre ho risolto e sono riuscito ad importare gli utenti, aggiungerli ai gruppi e quant’altro. Ora riesco anche ad accedere via ssh con gli utenti AD.

Mi manca l’ultimo step: riuscire a montare le share samba da win.. ho qualche problema a configurare pam