BR Indice(depth=1) WikiBanner(RichiestaRevisioneStilistica)
Introduzine
In questa pagina ci sono delle istruzioni utili su come utilizzare Samba+Ldap.
Verrà spiegato come creare un PDC (PrimaryDomainController) su Ubuntu Server 8.04 per una rete di client con SO Windows Xp Pro e Vista Ultimate/Businnes.
Tutti le operazioni sono fatte con account root.
Installazione
Installare i pacchetti:
[apt://samba samba]
[apt://smbldap-tools smbldap-tools]
[apt://smbclient smbclient]
[apt://samba-doc samba-doc]
[apt://slapd slapd]
[apt://ldap-utils ldap-utils]
Immettere la passwd per l'amministratore di Ldap, quando viene chiesta. E' conveniente non superare i 5 caratteri alfanumerici.
Configurare LDAP
Digitare il seguente comando in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale]:
dpkg-reconfigure slapd
Rispondere alle domande proposte dal configuratone con quello che segue e nel seguente ordine.
No vostrodominio.com vostraorganizzazione inserire la passwd scelta al momento dell'installazione di LDAP confermare la passwd OK HDB No Yes No
Riavviare LDAP digitando il seguente comando in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale]:
/etc/init.d/slapd restart
Configurazione SAMBA+LDAP
Digitare i seguenti comandi in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale]:
cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/ gzip -d /etc/ldap/schema/samba.schema.gz
Modificare il file /etc/ldap/slapd.conf
Aggiungere le seguenti linee nella sezione«include»:
include /etc/ldap/schema/samba.schema include /etc/ldap/schema/misc.schema
Aggiungere i seguenti attributi alla linea «access to attrs=userPassword...»
sambaNTPassword,sambaLMPassword
Dopo questa linea:
rootdn "cn=admin,dc=miodominio,dc=com"
aggiungere quanto segue:
rootpw "paswd di ldap"
Aggiungere le seguenti righe nella sezione «Indices to maintain for this database»:
index objectClass eq,pres index ou,cn,sn,mail,givenname eq,pres,sub index uidNumber,gidNumber,memberUid eq,pres index loginShell eq,pres # I also added this line to stop warning in syslog .. index uniqueMember eq,pres # required to support pdb_getsampwnam index uid pres,sub,eq # required to support pdb_getsambapwrid() index displayName pres,sub,eq # These attributes don't exist in this database .. #index nisMapName,nisMapEntry eq,pres,sub index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index default sub
- Salvare il file
Digitare i seguenti comandi in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale]:
/etc/init.d/slapd stop slapindex chown openldap:openldap /var/lib/ldap/* /etc/init.d/slapd start
Fare una copia del file smb.conf digitando in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale] i seguenti comandi:
cp /etc/samba/smb.conf /etc/samba/smb.conf.original
Modificare il file /etc/samba/smb.conf come segue
workgroup = VOSTRODOMINIO(rispettare le maiuscole) security = user passdb backend = ldapsam:ldap://localhost/ obey pam restrictions = no ############################################################### #COPY AND PASTE THE FOLLOWING UNDERNEATH "OBEY PAM RESTRICTIONS = NO" ############################################################### # Begin: Custom LDAP Entries ldap admin dn = cn=admin,dc=example,dc=local ldap suffix = dc=example, dc=local ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Users ; 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* 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" #################################################### #STOP COPYING HERE! ##################################################### # Commenta con un ";" la linea line: invalid users = root # Commenta con ";" la seguente linea o mettere "no" per non avere conflitto con la passwd creata con LDAP: Unix password sync=yes # Aggiungere la seguente linea per disabilitare i ROHAMING PROFILES: logon path =
- Salvare il file e uscire da vim.
Digitare i seguenti comandi in una finestra di terminale:
/etc/init.d/samba restart smbpasswd -w "passwd ldap"
Configurare il SMBLDAP-TOOLS package
0. Digitare i seguenti comandi in una finestra di terminale:
cd /usr/share/doc/smbldap-tools/examples/ cp smbldap_bind.conf /etc/smbldap-tools/ cp smbldap.conf.gz /etc/smbldap-tools/ gzip -d /etc/smbldap-tools/smbldap.conf.gz
0. Prendere il SID del sistema e appuntarlo a parte digitando in una finestra di terimanle il seguente cmando:
net getlocalsid
0. Modificare il file /etc/smbldap-tools/smbldap.conf 0. Aggiungere o modificare nel seguente modo le seguenti linee
Nota:se lasciate le opzioni seguenti le potete modificare nel file smb.conf, che a me é risultato piú comodo. SID="S-1-5-21-949328747-3404738746-3052206637" # quello del comando net getlocalsid sambaDomain="VOSTRODOMINIO" senza il .com finale ldapTLS="0" suffix="dc=vostrodominio,dc=com" sambaUnixIdPooldn="sambaDomainName=VOSTRODOMINIO,${suffix}" userSmbHome= userProfile= userHomeDrive= userScript= mailDomain="vostrodominio.com"
0. Salvare il file.
0. Modificare il file /etc/smbldap-tools/smbldap_bind.conf
0.0 Aggiungere o modificare nel seguente modo le seguenti linee
slaveDN="cn=admin,dc=vostrodominio,dc=com" slavePw="passwd di ldap" masterDN="cn=admin,dc=vostrodominio,dc=com" masterPw="passwd di ldap"
0. Salvare il file.
0. Dare i giusti permessi ai file digitando in una finestra di terminale i seguenti comandi:
chmod 0644 /etc/smbldap-tools/smbldap.conf chmod 0600 /etc/smbldap-tools/smbldap_bind.conf
Configurare il server per usare LDAP authentication.
0. Installare i pacchetti digitando in una finestra di terminale i seguenti comandi:
apt-get install auth-client-config libpam-ldap libnss-ldap
Rispondere alle domande proposte dal configuratore con quello che segue e nel seguente ordine
Yes LDAP server Uniform Resource Identifier: ldap://127.0.0.1 Distinguished name of the search base: dc=vostrodominio,dc=com LDAP version to use: 3 Make local root Database admin: Yes Does the LDAP database require login? No LDAP account for root: cn=admin,dc=vostrodominio,dc=com LDAP root account password: passwd di ldap
0. Modificatre il file /etc/ldap.conf
0. Aggiungere o modificare nel seguente modo le seguenti linee
host 127.0.0.1 base dc=vostrodominio,dc=com uri ldap://127.0.0.1 rootbinddn cn=admin,dcvostrodominio,dc=com bind_policy soft
0. Salvare il file.
0. Copiare il file nella cartella /etc/ldap digitando in una finestra di terminale il seguente comando:
cp /etc/ldap.conf /etc/ldap/ldap.conf
0. Create il file etc/auth-client-config/profile.d/open_ldap
0. Inserire quanto segue senza spazi tra le righe:
[open_ldap] nss_passwd=passwd: compat ldap nss_group=group: compat ldap nss_shadow=shadow: compat ldap pam_auth=auth required pam_env.so auth sufficient pam_unix.so likeauth nullok auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so pam_account=account sufficient pam_unix.so account sufficient pam_ldap.so account required pam_deny.so pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_first_pass password required pam_deny.so pam_session=session required pam_limits.so session required pam_mkhomedir.so skel=/etc/skel/ session required pam_unix.so session optional pam_ldap.so
0. Fare il Backup del file /etc/nsswitch.conf digitando in una finestra di terminale il seguente comando:
cp /etc/nsswitch.conf /etc/nsswitch.conf.original
0. Fare il Backup dei file /etc/pam.d/ digitando in una finestra di terminale i seguenti comandi:
cd /etc/pam.d/ mkdir bkup cp * bkup/
0. Abilitare il nuovo LDAP Authentication Profile digitando in una finestra di terminale i seguenti comandi:
auth-client-config -a -p open_ldap reboot
Populare LDAP usando smbldap-tools
0. Digitare in una finestra di terminale il seguente comando:
smbldap-populate -u 30000 -g 30000
0. Alla richiesta di passswd per root assegnare quella di ldap( max lunghezza 5):
Aggiungere gli utenti samba y unix e asseganrli la passwd desiderata
0. Digitare in una finestra di terminale il seguente comando:
smbldap-useradd -a -m -s /bin/false -c "Richard M" -P ricky
0. Se si vuole che un utente sia amministratore di dominio e amministratore sul proprio pc windows, allora si deve dare:
smbldap-useradd -a -m -s /bin/false -c "Richard M" -g "Domain Admins" -P ricky
Creare le cartelle profile e netlogon
# Nota: il percorso /var/lib/samba é arbitrario, ed é quello di default
0. Digitare in una finestra di terminale i seguenti comandi:
mkdir /var/lib/samba/profiles mkdir /var/lib/samba/netlogon chmod -R 1757 /var/lib/samba/profiles chmod -R 775 /var/lib/samba/netlogon
# CONTROLLARE QUE I FILE DI NETLOGON SIANO ACCESSIBILI IN LETTURA DA TUTTI.
0. Riavviare il sistema e aggiungere il pc windows al dominio