Samba LDAP · 5 min read · Dec 12, 2025

Contrôleur de domaine Samba CentOS 5.x avec backend LDAP - Page 2

Configuration de l’administration à distance du répertoire ldap

Éditez /etc/php.ini et assurez-vous que memory_limit est défini à au moins 32 Mo :

memory_limit = 32M

La dernière fois que j’ai vérifié, la version de phpldapadmin disponible via yum est cassée, donc nous allons obtenir la dernière version et l’extraire : Allez à http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=177751 & téléchargez la dernière version. Dans mon cas, cela a donné les commandes suivantes, votre paquet peut être plus récent :

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

Maintenant, éditez ./pla/config/config.php et décommentez la ligne suivante :

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

Rendre le nouveau logiciel disponible

service httpd restart  
chkconfig httpd on

Éditez /etc/sysconfig/iptables et copiez & modifiez la ligne concernant ssh (–dport 22 -j ACCEPT), et juste après, ajoutez (en supposant que votre installation CentOS a produit le fichier iptables par défaut) :

#Autoriser Https://
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#Autoriser 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

Maintenant, ouvrez votre navigateur web et visitez https://192.168.0.5/samba/pla/ et connectez-vous avec le nom d’utilisateur cn=root,dc=DOMAINNAME & votre mot de passe. Vous devriez pouvoir naviguer et voir quelques éléments.

Intégrer ldap et 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

Éditez /etc/samba/smb.conf selon vos préférences, la partie ldap par défaut devrait convenir.
Sous [global], vous devrez ajouter ces trois paramètres qui ne sont pas là par défaut :


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

Notez que net getlocalsid renverra une erreur plusieurs fois jusqu’à la fin, car vous n’avez pas encore entièrement configuré samba – mais produira le sid dont vous avez besoin pour l’étape suivante.

Éditez /etc/smbldap-tools/smbldap.conf et insérez sid, domaine, etc, tout au long du fichier jusqu’à la fin.

Éditez /etc/smbldap-tools/smbldap_bind.conf et changez les deux lignes applicables, changez “secret” par votre mot de passe.

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

Vérifiez que la sortie de authconfig-tui contient :

[ ] L'autorisation locale est suffisante

Maintenant, testez votre configuration samba :

testparm
smbpasswd -w YOUR_ROOT_LDAP_PASS_HERE  
smbldap-populate

smbldap-populate demandera le mot de passe, entrez-le.

Démarrer l’installation LDAP Samba

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

Ajoutez des utilisateurs/groupes, corrélez entre unix et ldap :

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

Obtenez une image des groupes UNIX qui ne sont pas encore là que LDAP suppose :

net groupmap list

La sortie est quelque chose comme :

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

Ajoutez des groupes corrélés à unix, en utilisant les GID suggérés :

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

Si vous souhaitez ajouter un groupe non intégré à LDAP/Samba, par exemple pour contrôler quels utilisateurs peuvent écrire/lire des fichiers sur un partage, et le faire déterminer par des groupes :

smbldap-groupadd -a "People In Our Office"

Ensuite, obtenez la sortie de net groupmap list à nouveau et corrélez le nouveau groupe créé # tout comme la dernière fois, en ajoutant le groupe au système unix :

groupadd -g 1001 samba_people_in_our_office

Ajoutez des utilisateurs aux groupes LDAP via l’interface web, puis corrélez dans unix :

usermod -a -G UNIX_GROUP_NAME UNIX_USERNAME

Ajoutez également des comptes d’ordinateurs à unix, en utilisant le groupe “samba_domain_computers” ci-dessus, et où vos noms d’ordinateurs autorisés se terminent par un “$” :

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

Enfin, mais certainement pas nécessaire, vous voudrez peut-être désactiver les services inutiles que CentOS exécute par défaut. J’ai déterminé que je, spécifiquement, n’ai besoin d’aucun des éléments suivants. Vous pourriez être différent, alors renseignez-vous avant de les désactiver :

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

(Optionnel) Mettre à niveau Samba pour que les ordinateurs Windows 7 puissent rejoindre le domaine

Assurez-vous que ldap ssl = off est défini dans /etc/samba/smb.conf, car cela n’était pas requis pour que la version de la distribution CentOS de Samba fonctionne correctement, mais le sera une fois que nous mettrons à niveau (3.0.x contre 3.3.x, qui prend en charge Windows 7).

Nous allons obtenir les RPMs samba plus récents construits pour CentOS depuis Sernet :

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

Vos paquets samba seront mis à jour depuis le dépôt Sernet.
Depuis la mise à niveau, notre service CentOS pour samba a disparu ; réajoutons-le :

chkconfig --add smb  
chkconfig smb on

Ajoutez maintenant l’ordinateur Windows 7 à Unix (en supposant que le nom de groupe de vos ordinateurs de domaine est “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$

Maintenant, rejoignez votre PC Windows 7 au domaine en utilisant ce mini guide officiel de Samba :
http://wiki.samba.org/index.php/Windows7

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.