Samba LDAP · 4 min read · Dec 12, 2025

CentOS 5.x Samba Domain Controller With LDAP Backend - Page 2

Configurazione dell’amministrazione remota della directory ldap

Modifica /etc/php.ini e assicurati che memory_limit sia impostato ad almeno 32 MB:

memory_limit = 32M

L’ultima volta che ho controllato, la versione di phpldapadmin disponibile tramite yum è rotta, quindi scaricheremo l’ultima versione e la estrarremo: Vai a http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=177751 e scarica l’ultima versione. Nel mio caso ciò ha comportato i seguenti comandi, il tuo pacchetto potrebbe essere più recente:

mkdir /var/www/html/samba && cd /var/www/html/samba  
wget http://softlayer.dl.sourceforge.net/sourceforge/phpldapadmin/phpldapadmin-1.1.0.7.tar.gz  
tar zxf phpldapadmin-1.1.0.7.tar.gz  
ln -s phpldapadmin-1.1.0.7 pla  
cp pla/config/config.php.example pla/config/config.php

Ora modifica ./pla/config/config.php e decommenta la seguente riga:

$config->custom->jpeg['tmpdir'] = "/tmp";

Rendi disponibile il software appena configurato

service httpd restart  
chkconfig httpd on

Modifica /etc/sysconfig/iptables e copia e modifica la riga riguardante ssh (–dport 22 -j ACCEPT), e subito dopo, aggiungi (supponendo che la tua installazione di CentOS abbia prodotto il file iptables predefinito):

#Consenti Https://
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#Consenti samba:
-A RH-Firewall-1-INPUT -m multiport -p udp --dport 137,138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m multiport -p tcp --dport 139,445 -j ACCEPT

Ora apri il tuo browser web e visita https://192.168.0.5/samba/pla/ e accedi con Nome utente cn=root,dc=DOMAINNAME e la tua password. Dovresti essere in grado di esplorare e vedere un po’ di spazzatura.

Integra ldap e Samba

mv /etc/samba/smb.conf /etc/samba/smb.conf.dist  
cp /usr/share/doc/smbldap-tools-0.9.5/smb.conf /etc/samba/smb.conf

Modifica /etc/samba/smb.conf a tuo piacimento, la parte ldap predefinita dovrebbe andare bene.
Sotto [global], dovrai aggiungere queste tre impostazioni che non ci sono per impostazione predefinita:


ldap ssl = off
nt acl support = yes

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE

cp /usr/share/doc/smbldap-tools-0.9.5/smbldap.conf /etc/smbldap-tools/smbldap.conf  
net getlocalsid

Nota, net getlocalsid darà errore un sacco di volte fino alla fine, perché non hai ancora configurato completamente samba – ma produrrà il sid di cui hai bisogno per il passaggio successivo.

Modifica /etc/smbldap-tools/smbldap.conf e inserisci sid, dominio, ecc, in tutto il file fino alla fine.

Modifica /etc/smbldap-tools/smbldap_bind.conf e cambia entrambe le righe applicabili, cambia “secret” con la tua password.

chmod 644 /etc/smbldap-tools/smbldap.conf  
chmod 600 /etc/smbldap-tools/smbldap_bind.conf  
authconfig-tui

Controlla che l’output di authconfig-tui contenga:

[ ] L'autorizzazione locale è sufficiente

Ora testa la tua configurazione samba:

testparm
smbpasswd -w YOUR_ROOT_LDAP_PASS_HERE  
smbldap-populate

smbldap-populate chiederà la password, inseriscila.

Avvia l’installazione di LDAP Samba

/etc/init.d/smb start  
chkconfig smb on

Aggiungi utenti/gruppi, correlando tra unix e ldap:

useradd user1  
smbldap-useradd -a -G 'Domain Users' -m -s /bin/bash -d /home/user2 -F "" -P user1

Ottieni un quadro dei gruppi UNIX che non ci sono ancora e che LDAP presume:

net groupmap list

L’output è qualcosa del tipo:

Domain Admins (S-1-5-21-990788473-1556064292-4137819756-512) -> domain_admins
Domain Users (S-1-5-21-990788473-1556064292-4137819756-513) -> domain_users
Domain Guests (S-1-5-21-990788473-1556064292-4137819756-514) -> 514
Domain Computers (S-1-5-21-990788473-1556064292-4137819756-515) -> 515
Administrators (S-1-5-32-544) -> 544
Account Operators (S-1-5-32-548) -> 548
Print Operators (S-1-5-32-550) -> 550
Backup Operators (S-1-5-32-551) -> 551
Replicators (S-1-5-32-552) -> 552

Aggiungi gruppi correlati a unix, utilizzando i GID suggeriti:

groupadd -g 514 samba_domain_guests  
groupadd -g 515 samba_domain_computers  
groupadd -g 544 samba_administrator  
groupadd -g 548 samba_account_operators  
groupadd -g 550 samba_print_operators  
groupadd -g 551 samba_backup_operators  
groupadd -g 552 samba_replicators

Se vuoi aggiungere un gruppo non incorporato a LDAP/Samba, ad esempio per controllare quali utenti possono scrivere/leggere file su una condivisione, e farlo determinare dai gruppi:

smbldap-groupadd -a "Persone nel nostro ufficio"

Quindi ottieni di nuovo l’output da net groupmap list e correlare il nuovo gruppo creato proprio come l’ultima volta, aggiungendo il gruppo al sistema unix:

groupadd -g 1001 samba_people_in_our_office

Aggiungi utenti ai gruppi LDAP tramite l’interfaccia web, quindi correlali in unix:

usermod -a -G UNIX_GROUP_NAME UNIX_USERNAME

Aggiungi anche account computer a unix, utilizzando il gruppo “samba_domain_computers” di cui sopra, e dove i nomi dei computer consentiti terminano con un “$”:

useradd -M -g 515 -s /bin/false officecomp1$

Infine, ma certamente non necessario, potresti voler disattivare i servizi non necessari che CentOS esegue per impostazione predefinita. Ho determinato che io, specificamente, non ho bisogno di nessuno dei seguenti. Potresti essere diverso, quindi informati prima di disattivarli:

chkconfig ntpd off  
chkconfig bluetooth off  
chkconfig xinetd off  
chkconfig smartd off  
chkconfig yum-updatesd off  
chkconfig rpcidmapd off  
chkconfig rpcgssd off  
chkconfig restorecond off  
chkconfig portmap off  
chkconfig pcscd off  
chkconfig nfslock off  
chkconfig mcstrans off  
chkconfig mdmonitor off  
chkconfig irqbalance off  
chkconfig kudzu off  
chkconfig ip6tables off  
chkconfig hidd off  
chkconfig gpm off  
chkconfig haldaemon off  
chkconfig autofs off  
chkconfig avahi-daemon off  
service ntpd stop  
service bluetooth stop  
service xinetd stop  
service smartd stop  
service yum-updatesd stop  
service rpcidmapd stop  
service rpcgssd stop  
service restorecond stop  
service portmap stop  
service pcscd stop  
service nfslock stop  
service mcstrans stop  
service mdmonitor stop  
service irqbalance stop  
service kudzu stop  
service ip6tables stop  
service hidd stop  
service gpm stop  
service haldaemon stop  
service autofs stop  
service avahi-daemon stop

(Opzionale) Aggiorna Samba in modo che i computer Windows 7 possano unirsi al dominio

Assicurati che ldap ssl = off sia impostato in /etc/samba/smb.conf, poiché questo non era richiesto per la versione della distribuzione CentOS di Samba per funzionare correttamente, ma sarà necessario una volta che aggiorneremo (3.0.x vs 3.3.x, che supporta Windows 7).

Ottenere i nuovi RPM di samba costruiti per CentOS da Sernet:

cd /etc/yum.repos.d/  
wget http://ftp.sernet.de/pub/samba/3.3/centos/5/sernet-samba.repo  
yum update

I tuoi pacchetti samba si aggiorneranno dal repository Sernet.
Poiché l’aggiornamento, il nostro servizio CentOS per samba è scomparso; riaggiungiamolo:

chkconfig --add smb  
chkconfig smb on

Ora aggiungi il computer Windows 7 a Unix (supponendo che il nome del gruppo dei computer del tuo dominio sia “samba_domain_computers”):

useradd -M -g `cat /etc/group|grep samba_domain_computers|cut -d: -f3` -s /bin/false win7-computername$  
usermod -a -G samba_domain_computers win7-computername$

Ora unisci il tuo PC Windows 7 al dominio utilizzando questa guida mini ufficiale di Samba:
http://wiki.samba.org/index.php/Windows7

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.