Liberamente tratto da::
zless /usr/share/doc/smbldap-tools/README.Debian.gz (fatto molto bene!!)
http://www.pluto.it/files/journal/pj0605/samba3pdc.html (molto simile da questo howto!! uh?)
alcune ino interessanti anche se contestualizzate per woody
http://www.slag.it/documenti/samba3_ldap_pdc/samba3_ldap_pdc_howto.php
e con la sezione dedicata ai client tratta da
http://openskills.info/topic.php?ID=75
Installazione samba::
apt-get install samba samba-doc
Liberamente tratto da::
zless /usr/share/doc/smbldap-tools/README.Debian.gz (fatto molto bene!!)
http://www.pluto.it/files/journal/pj0605/samba3pdc.html (molto simile da questo howto!! uh?)
alcune ino interessanti anche se contestualizzate per woody
http://www.slag.it/documenti/samba3_ldap_pdc/samba3_ldap_pdc_howto.php
e con la sezione dedicata ai client tratta da
http://openskills.info/topic.php?ID=75
Installazione samba::
apt-get install samba samba-doc
rispondere alle domande di rito, il file verrà modificato comunque a mano più tardi, in samba doc c’e’ il samba.schema per LDAP::
apt-get install slapd
all’inserimento del DNS domain name inserire il dominio, es: linuxtrent.it che creerà un base DN::
dc=linuxtrent,dc=it
come nome dell’organizzazione mettere una descrizione dell’organizzazione::
Utenti GNU Linux del Trentino
e quindi settare la password di admin.
Ora è necessario aggiungere lo schema per i dati di samba all’indice LDAP::
zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
e quindi includerlo fra gli schema di ldap, è sufficiente aggiungere agli include già presenti nel file /etc/ldap/slapd.conf::
include /etc/ldap/schema/samba.schema
per ottimizzare il database per l’utilizzo con samba (opzioni non necessarie)::
index uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
per permettere algi utenti di cambiare le proprie passowrd NT e LM cambiare la linea::
access to attrs=userPassword
a::
access to attrs=userPassword,sambaNTPassword,sambaLMPassword
in /etc/ldap/ldap.conf decommentare e sistemare i parametri::
BASE dc=linuxtrent,dc=it
URI ldap://localhost
far ripartire il server ldap con::
/etc/init.d/slapd restart
Installazione degli smbldap-tools::
apt-get install smbldap-tools
per comodità ci sono un paio di file di esempio da copiare nella directory di configurazione::
zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf
Editare il file /etc/smbldap-tools/smbldap.conf, modificando il SID, per ottenerlo eseguire il programma::
net getlocalsid
modificare il suffix::
suffix=”dc=linuxtrent,dc=it”
lo sambaUnixIdPooldn::
sambaUnixIdPooldn=”sambaDomainName=NOMEDOMINIONT,${suffix}”
e aggiungere la voce::
rootdn “cn=admin,dc=linuxtrent,dc=it”
ora nel file /etc/smbldap-tools/smbldap_bind.conf::
slaveDN=”cn=admin,dc=linuxtrent,dc=it”
slavePw=”passworddiadmindigitataprecedentemente”
masterDN=”cn=admin,dc=linuxtrent,dc=it”
masterPw=”passworddiadmindigitataprecedentemente”
a questo punto è possibile popolare il db di LDAP con i dati neccessari alla gestione dei dominio::
smbldap-populate -k 0
il parametro -k 0 serve a impostare l’UID dell’utente Administrator a 0, facendolo di fatto coincidere con l’utente root.
Infine è necessario cambiare la password di Administrator con il comando::
smbldap-passwd Administrator
si può controllare il contenuto del db con::
slapcat
oppure::
ldapsearch -b “dc=linuxtrent,dc=it” -x
È necessario quindi configurare anche l’autenticazione sulla macchina con ldap installare quindi::
apt-get install libpam-ldap libnss-ldap
impostare i dati richiesti e modificare /etc/nsswitch.conf::
passwd: compat ldap
group: compat ldap
shadow: compat ldap
È possibile verificare le impostazioni con il comando::
getent passwd
se tutto è corretto la lista dovrebbe riportare anche gli utenti di ldap
è possibile copiare un prototipo per il file di configurazione di samba (facendo una copia dell’originale!)::
zcat /usr/share/doc/smbldap-tools/examples/smb.conf.gz > /etc/samba/smb.conf
****ATTENZIONE**** le voci da modificare sono parecchie, conviene un’attenta analisi del file d’esempio, soprattutto per quanto riguarda il binding verso ldap, in modo che rispecchino queste opzioni::
workgroup = NOMEDOMINIONT
netbios name = NOMESERVERPDC
domain logons = Yes
obey pam restrictions = no
ldap admin dn = cn=admin,dc=linuxtrent,dc=it
ldap suffix = dc=linuxtrent, dc=it
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
Per utilizzare smbldap per gestire le password::
; Do ldap passwd sync
ldap passwd sync = Yes
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*
e per gestire gli utenti e i gruppi da windows::
add user script = /usr/sbin/smbldap-useradd -m “%u”
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel “%u”
add machine script = /usr/sbin/smbldap-useradd -w “%u”
add group script = /usr/sbin/smbldap-groupadd -p “%g”
delete group script = /usr/sbin/smbldap-groupdel “%g”
add user to group script = /usr/sbin/smbldap-groupmod -m “%u” “%g”
delete user from group script = /usr/sbin/smbldap-groupmod -x “%u” “%g”
set primary group script = /usr/sbin/smbldap-usermod -g “%g” “%u”
controllare se i parametri sono corretti e se il server agirà come PDC tramite il comando::
testparm
che dovrebbe ritornare fra le altre, una riga contenente::
Server role: ROLE_DOMAIN_PDC
cambiare la password dell’amministratore di smbldap::
smbpasswd -w PASSWORDDESIDERATA
far ripartire samba::
/etc/init.d/samba restart
ora modificare l’utente administrator per renderlo come uid 0 altrimenti non sarà possibile fare il join del dominio dai client (probabilmente c’e’ qualche via più pulita)::
smbldap-usermod -u 0 administrator
ora è possibile fare il join al nuovo dominio:), La configurazione di un sistema Windows per unirsi ad un dominio, varia a seconda della versione:
Windows 95/98/ME
^^^^^^^^^^^^^^^^
– Verificare che sia installato il “Client per Reti Microsoft” fra le proprietà di rete
– Assicurarsi che il Client per Reti Microsoft sia selezionato come protocollo di rete primario (Pannello di Controllo -> Rete -> Logon di rete primario).
– Andare su Pannello di Controllo -> Rete -> Client per reti Microsoft -> Proprietà -> Logon su Dominio NT.
– Se si è configurata su smb.conf l’opzione “add user script”, selezionare il checkbox Crea un Computer Account, altrimenti creare a mano sul server Samba un utente con il nome della macchina Windows.
– Inserire il nome del proprio dominio e cliccare OK.
Windows NT
^^^^^^^^^^^
– Andare su Pannello di Controllo -> Rete -> Identificazione Rete -> Proprietà
– Selezionare Dominio e inserire il nome del prorio dominio
– Selezionare Crea un Computer Account
– Alla richiesta della password di un amministratore inserire la login e la password di root, ricordarsi che l’utente root deve essere aggiunto a smbpasswd.
– Dovrebbe comparire un messaggio che ci da il benvenuto sul dominio.
Windows 2000
^^^^^^^^^^^^
Le procedure sono uguali a quelle per Windows NT tranne che i settaggi di rete sono trovati sotto Pannello di Controllo -> Sistema -> Identificazione Rete (oppure, sul Desktop, cliccare col tasto destro del mouse sull’icona Risorse del Computer, selezionare Proprietà, cliccare sulla tab Identificazione Rete e sul tasto Proprietà).
Windows XP
^^^^^^^^^^
La procedura con Windows XP è più complessa (lamentele a Microsoft che usa cambiare le specifiche e le implementazioni dei suoi protocolli anche per rendere più complicata l’interoperabilità con soluzioni alternative).
Notare che solo XP Professional Edition può essere usato per far parte di un dominio, Windows XP Home Edition non può far parte di un dominio (Samba o Windows based).
– Aprire l’editor delle policy di Sicurezza Locale (Start->Pannello di controllo->Strumenti di Aministrazione->Criteri di protezione locali->Criteri locali->opzioni di protezione)
– Disabilitare la voce “Domain member: Digitally encrypt or sign secure channel (always)” (Membro di dominio: aggiunta crittografia of irma digitale ai dati del canale protetto (sempre) )
– Disabilitare la voce “Domain member: Disable machine account password changes” (Controller di dominio: rifiuta cambio password account computer)
– Disabilitare la voce “Domain member: Require strong (Windows 2000 or later) session key” (Membro di dominio: richiesta chiave di sessione avanzata (Windows 2000 o versioni successive) )
– Scaricare da Samba.org (http://de.samba.org/samba/ftp/docs/Registry/WinXP_SignOrSeal.reg) la patch per il registro WinXP_SignOrSeal. Per applicarla cliccare due volte sul file .reg e rispondere Si alle domande
– A questo punto ci si può unire al dominio come su Windows NT/2000: Tasto destro su Risorse del Computer, selezionare Proprietà, Nome del Computer e tasto Modifica uppure cliccare su Identificazione di Rete ed eseguire il Wizard.
Linux/Unix
^^^^^^^^^^^
Anche dei sistemi Linux, ovviamente, possono unirsi ad un dominio con un PDC Samba e se sono dei file server, si può configurare Samba per permettere l’autenticazione tramite il dominio.
Su smb.conf ci devono essere le seguenti righe::
[global]
workgroup =
netbios name =
security = DOMAIN
encrypt passwords = Yes
password server =
preferred master = False
domain master = False
Ovviamente sul PDC Samba deve essere creato un computer account per il nostro Samba locale (con il nome specificato in netbios name) e, anche in questo caso, il computer locale deve preventivamente unirsi al dominio, con una procedura che è paragonabile a quelle viste sopra per client Windows. Sul Linux/Unix locale basta scrivere::
smbpasswd -j
Bisogna fornire la password di root del PDC Samba (ricordarsi che è la password salvata in smbpasswd e non in passwd/shadow, nel caso fossero diverse).
Nota del _v_tiz:
OpenLDAP ha la brutta abitudine di non riavviarsi quando la donna delle pulizie si inciampa nell’interruttore generale della corrente::
apt-get install db4.2-util
Contiene l’utilit y ‘db4.2_recover’ che viene lanciata automaticamente ad ogni restart di ldap, risolvendo eventuali problemi di incongruenza del Barkley DB.
Promemoria comandi ldap ::
slapcat
# Per fare delle modifiche nel DB in maniera semplice
slapcat -l /tmp/backup.ldif
# stoppare il servizio
/etc/init.d/slapd stop
# una copia del vecchio db
cp -r /var/lib/ldap /var/lib/ldap.old
mkdir /var/lib/ldap
#modificare il file backup.ldif e quindi reimportarlo
slapadd -c -l /tmp/backup.ldif
ldapsearch -b “dc=linuxtrent,dc=it” -x
ldapsearch -b “dc=linuxtrent,dc=it” -LLL “cn=nomedellutente*” -x
ldapadd -x -W -D “cn=admin,dc=linuxtrent,dc=it” -f entry.ldif # per importare un ldif
ldapdelete -x -D “cn=admin,dc=linuxtrent,dc=it” -W “cn= nomeutente,dc=linuxtrent,dc=it”
**** ATTENZIONE *****
nel caso si reinstalli slapd controllare non ci sia un backup in /var/backups
con lo stesso numero di versione, altrimenti un dpkg.reconfigure non ricrea il
file di configurazione corretto
Pro memoria comandi samba::
pdbedit -L
getent passwd
FFFATTO???? BBBBBBBBBene..ora avete un PDC con LDAP, il vostro gypsymauro