Premessa (1): questo how to funziona con la release 5.x di Centos
Premessa (2): per il corretto funzionamento di questo how to è necessario disinstallare samba (ramo 3.0.x) ed installare samba3x (ramo 3.5.x)
Premessa (3): per il corretto funzionamento di questo how to è necessario installare smbldap-tools
Dopo avere aggiornato il sistema e installati gli aggiornamenti di cui all’articolo http://opuntia.biz/2009/07/07/aggiornare-centos-in-un-sol-colpo/ editiamo il file /etc/hosts
127.0.0.1 localhost.localdomain localhost
(IP_SERVER) serverpdc.azienda.it serverpdc
Ora iniziamo a lavorare su OpenLDAP.
Editiamo il file /etc/openldap/ldap.conf ed inseriamo:
BASE dc=serverpdc, dc=local
URI ldap://127.0.0.1
Editiamo il file /etc/openldap/slapd.conf ed andiamo a modificare i campi:
include /etc/openldap/schema/samba.schema
suffix “dc=serverpdc,dc=local”
rootdn “cn=admin,dc=serverpdc,dc=local”
rootpw (PASSWORD)
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
#access to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword
Digitiamo i seguenti comandi:
cp /usr/share/doc/samba3x-3.5.4/LDAP/samba.schema /etc/openldap/schema/
cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
chmod 600 /var/lib/ldap/DB_CONFIG
service ldap restart
Digitiamo il comando …
slappasswd
che, dopo avere inserito la password restituirà la stessa criptata …
{SSHA}wU7yzn+xv4fHfLTMceg0fgmOa40LcRfC
Creiamo con il nostro editor di testo preferito un file che chiameremo “admin.ldif” compilato nel seguente modo:
# Voce 1: dc=serverpdc,dc=local
dn: dc=serverpdc,dc=local
dc: serverpdc
o: serverpdc.local
objectclass: top
objectclass: dcObject
objectclass: organization
# Voce 2: cn=admin,dc=serverpdc,dc=local
dn: cn=admin,dc=serverpdc,dc=local
cn: admin
objectclass: organizationalRole
objectclass: simpleSecurityObject
objectclass: top
userpassword: {SSHA}wU7yzn+xv4fHfLTMceg0fgmOa40LcRfC
Digitiamo il comando:
ldapadd -x -D “cn=admin,dc=serverpdc,dc=local” -w [PASSWORD_IN_CHIARO] -f /root/admin.ldif
Recuperiamo il SID della macchina …
[root@serverpdc html]# net getlocalsid
SID for domain SERVERPDC is: S-1-5-21-3901001746-2498536636-3303555514
… ed editiamo il file /etc/smbldap-tools/smbldap.conf in questo modo:
SID=”S-1-5-21-3901001746-2498536636-3303555514″
sambaDomain=”SERVERPDC.LOCAL”
#slaveLDAP=”ldap.iallanis.info”
#slavePort=”389″
masterLDAP=”127.0.0.1″
suffix=”dc=serverpdc,dc=local”
ldapTLS=”0″
userSmbHome=”\\SERVERPDC\%U”
userProfile=”\\SERVERPDC\profiles\%U”
mailDomain=”DOMINIO_DI_POSTA.IT”
Altresì editiamo il file /etc/smbldap-tools/smbldap_bind.conf
slaveDN=”cn=admin,dc=serverpdc,dc=local”
slavePw=”(PASSWORD)”
masterDN=”cn=admin,dc=serverpdc,dc=local”
masterPw=”(PASSWORD)”
Editiamo il file /etc/samba/smb.conf in questo modo:
[global]
workgroup = SERVERPDC.LOCAL
server string = Samba PDC Server Version %v
obey pam restrictions = Yes
passdb backend = ldapsam:ldap://127.0.0.1
passwd program = /usr/sbin/smbldap-passwd %upasswd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*
add user script = /usr/sbin/smbldap-useradd -m “%u”
delete user script = /usr/sbin/smbldap-userdel “%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”
add machine script = /usr/sbin/smbldap-useradd -w “%u”
logon path = \\%N\profiles\%U
logon drive = H:
domain logons = Yes
domain master = Yes
dns proxy = No
wins support = Yes
ldap admin dn = cn=admin,dc=serverpdc,dc=local
ldap delete dn = Yes
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap passwd sync = Yes
ldap suffix = dc=serverpdc,dc=local
ldap user suffix = ou=Users
ldap ssl = off
# invalid users = root
cups options = raw
time server = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
[homes]
comment = Home Directories
read only = No
create mask = 0700
directory mask = 0700
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = Yes
share modes = No
[profiles]
path = /home/profiles
read only = No
create mask = 0600
directory mask = 0700
hide files = /desktop.ini/outlook*.lnk/*Briefcase*/
veto files = /*.mp3/ /*.wav/ /*.mpeg/ /*.avi/
Digitiamo i comandi:
mkdir /home/profiles
mkdir /home/netlogon
chmod 0775 /home/profiles
smbpasswd -w (PASSWORD IN CHIARO)
smbldap-populate -a Administrator -k 0
service smb restart
service nmb restart
Contestualmente modifichiamo il file /etc/nsswitch.conf aggiungendo “ldap” al file in questo modo:
da
passwd: files
shadow: files
group: files
a
passwd: files ldap
shadow: files ldap
group: files ldap
Contestualmente utilizzare il comando “authconfig-tui” flaggando i campi “Usa LDAP”, “Usa Password MD5″, “Usa password Shadow”, “Usa autenticazione LDAP” e specificando (dopo avere premuto il tasto “Avanti”) i parametri “Server: ldap://127.0.0.1/” e “Base DN: dc=serverpdc,dc=local”
Creiamo il primo utente con il comando:
smbldap-useradd -N “Roberto” -S “Pennolino” -P -a -m -c “BoB” bob
—–
cd /var/www/html/
wget http://downloads.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.0.5/phpldapadmin-1.2.0.5.tgz
tar -zxvf phpldapadmin-1.2.0.5.tgz
mv phpldapadmin-1.2.0.5 phpldapadmin
cp /var/www/html/phpldapadmin/config/config.php.example /var/www/html/phpldapadmin/config/config.php
vi /etc/php.ini
memory_limit = 32M
service httpd restart
—–