| « Thread in Java - terza parte | Thread in Java - seconda parte » |
Samba come PDC su Centos 5.4 - prima parte
Oggi, effettuerò un primo tentativo di creazione di un dominio con Samba come PDC (Primary Domain Controller).
Per il primo test ho utilizzato una macchina virtuale GNU/Linux Centos 5.4 a 64 bit creata con VirtualBox e il DVD di installazione di Centos.
In primis, ho disabilitato alcune opzioni di sicurezza, e in particolare ho disabilitato il processo SELinux in avvio del sistema che potrebbe impedire un funzionamento corretto del dominio. Eseguo l'operazione appena descritta con il seguente comando da terminale bash con utente root:
echo 0>/selinux/enforce
Successivamente, ho modificato l'opzione SELINUXTYPE in disabled (precedentemente era impostata in targeted) presente nel file /etc/sysconfig/selinux. Tale operazione è abbastanza "pericolosa" e sarebbe opportuno attuarla in un sistema di test.
A questo punto procedo con l'installazione di alcuni tools (pacchetti rpm) per poter implementare e utilizzare il dominio. Quindi, proseguo con i seguenti punti:
1) Aggiungo un repository con il comando da shell bash con utente root: rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5.4.noarch.rpm.
2) Eseguo il comando yum update, e ottengo un messaggio di installazione di 12 nuovi pacchetti e un aggiornamento di 347 pacchetti. Dopo la procedura di installazione e aggiornamento mi ritrovo con una distribuzione GNU/Linux Centos 5.6 (final).
3) Eseguo l'installazione dei seguenti pacchetti: openldap-servers nss_ldap samba httpd openssl mod_ssl mysql mysql_server php php-xml php-ldap php-mysql php-pdo php-cli php-common smbldap-tools con il comando da shell bash con utente root yum install openldap-servers e così via.
Come letto in alcuni forum, per il server samba sarebbe opportuno installare la versione samba3x dopo aver disinstallato ovviamente il pacchetto samba precedentemente installato; Con il comando rpm -e samba (ricordate di disinstallare prima samba-client e samba-common) eseguo la rimozione del pacchetto samba. A questo punto, il comando di installazione del pacchetto samba3x è sempre lo stesso: yum install samba3x.
Parlando del dominio, lo chiameremo megaoverclock.it e il nome del server sarà cluster1. Quindi, devo modificare il file /etc/hosts e aggiungere il nome della macchina seguito dal dominio e poi ancora dal nome come descritto di seguito:
10.0.0.56 cluster1.megaoverclock.it cluster1 (il primo termine in verde è l'indirizzo ip della macchina, il secondo in rosso è il nome e il terzo in viola è il dominio).
Comunque, in qualsiasi momento potrei cambiare il nome del server anche con il seguente comando da shell bash con utente root:
hostname cluster1.megaoverclock.it
Ora, è' il momento di generare la master password e configurare ldap. Per generare la password ho digitato il seguente comando da shell bash con utente root:
/usr/sbin/slappasswd e dopo aver inserito la nuova password (ldap1971) ottengo una visualizzazione criptata in SSHA come di seguito visualizzato.
{SSHA}DaRdG6hk/U/frZCM+t5HWX2cB2h9moex
Adesso, nel file /etc/openldap/slapd.conf con un editor qualsiasi da riga di comando (shell bash con utente root) inserisco le seguenti righe:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
database bdb
suffix "dc=megaoverclock.it"
rootdn "cn=root,dc=megaoverclock.it"
rootpw {SSHA}DaRdG6hk/U/frZCM+t5HWX2cB2h9moex
password-hash {SSHA}
directory /var/lib/ldap
index cn,sn,uid,displayName pres,sub,eq
index uidNumber,gidNumber eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index objectClass pres,eq
index default sub
Quindi procedendo per passi da shell bash con utente di root eseguo le istruzioni seguenti:
1) cp /usr/share/doc/samba3x-3.5.4/LDAP/samba.schema /etc/openldap/schema/
2) cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
3) chown ldap:ldap /var/lib/ldap/DB_CONFIG
4) chmod 600 /var/lib/ldap/DB_CONFIG
Ora inserisco nel file init.ldif (vi init.ldif all'interno della directory /etc/openldap/) il seguente testo:
dn: dc=megaoverclock.it
objectclass: dcObject
objectclass: organization
o: CentOS Directory Server
dc: megaoverclock.it
dn: cn=root,dc=megaoverclock.it
objectclass:organizationalRole
cn: root
Salvo il file (vi è uno spazio tra la 5 e la 6 riga altrimenti il comando successivo potrebbe generare un errore) e digito i seguenti comandi:
/usr/sbin/slapadd -l /etc/openldap/init.ldif
chown -R ldap:ldap /var/lib/ldap
chmod 600 /var/lib/ldap/*
Infine, eseguendo il comando /usr/sbin/slapcat da shell bash con utente root ottengo le seguenti informazioni:

Dunque, avvio il server ldap con il seguente comando:
/etc/init.d/ldap start e il server si avvia senza alcun errore.
A questo punto, posso inserire il servizio direttamente all'avvio del sistema operativo con il comando seguente sempre da shell bash con utente di root:
/sbin/chkconfig ldap on
Per oggi può bastare, alla prossima puntata.
