Samba LDAP · 4 min read · Dec 12, 2025

Controlador de Dominio Samba en CentOS 5.x con Backend LDAP - Página 2

Configuración de la administración remota del directorio ldap

Edita /etc/php.ini y asegúrate de que memory_limit esté configurado en al menos 32 MB:

memory_limit = 32M

La última vez que verifiqué, la versión de phpldapadmin disponible a través de yum está rota, así que obtendremos la última y la extraeremos: Ve a http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=177751 y descarga la última versión. En mi caso, eso resultó en los siguientes comandos, tu paquete puede ser más nuevo:

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

Ahora edita ./pla/config/config.php y descomenta la siguiente línea:

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

Hacer disponible el software recién configurado

service httpd restart  
chkconfig httpd on

Edita /etc/sysconfig/iptables y copia y modifica la línea sobre ssh (–dport 22 -j ACCEPT), y justo después de ella, agrega (suponiendo que tu instalación de CentOS produjo el archivo iptables predeterminado):

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

Ahora abre tu navegador web y visita https://192.168.0.5/samba/pla/ e inicia sesión con el nombre de usuario cn=root,dc=DOMAINNAME y tu contraseña. Deberías poder mirar alrededor y ver algo de basura.

Integrar ldap y 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

Edita /etc/samba/smb.conf a tu gusto, la parte ldap predeterminada debería estar bien. ajo [global], necesitarás agregar estas tres configuraciones que no están allí por defecto:


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á error un montón de veces hasta el final, porque aún no has configurado completamente samba – pero producirá el sid que necesitas para el siguiente paso.

Edita /etc/smbldap-tools/smbldap.conf e inserta sid, dominio, etc, a lo largo del archivo hasta el final.

Edita /etc/smbldap-tools/smbldap_bind.conf y cambia ambas líneas aplicables, cambia “secret” por tu contraseña.

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

Verifica que la salida de authconfig-tui contenga:

[ ] La autorización local es suficiente

Ahora prueba tu configuración de samba:

testparm
smbpasswd -w TU_CONTRASEÑA_ROOT_LDAP_AQUÍ  
smbldap-populate

smbldap-populate pedirá la contraseña, ingrésala.

Iniciar la instalación de LDAP Samba

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

Agrega usuarios/grupos, correlaciona entre unix y ldap:

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

Obtén una imagen de los grupos UNIX que aún no están allí que LDAP asume:

net groupmap list

La salida es algo como:

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

Agrega grupos correlacionados a unix, usando los GIDs sugeridos:

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 deseas agregar un grupo no incorporado a LDAP/Samba, digamos para controlar qué usuarios pueden escribir/leer archivos en un recurso compartido, y hacerlo determinar eso por grupos:

smbldap-groupadd -a "Personas en nuestra oficina"

Luego obtén la salida de net groupmap list nuevamente y correlaciona el nuevo grupo creado # igual que la última vez, agregando el grupo al sistema unix:

groupadd -g 1001 samba_people_in_our_office

Agrega usuarios a grupos LDAP a través de la interfaz web, luego correlaciona en unix:

usermod -a -G NOMBRE_DEL_GRUPO_UNIX NOMBRE_DE_USUARIO_UNIX

También agrega cuentas de computadora a unix, usando el grupo “samba_domain_computers” de arriba, y donde tus nombres de computadora permitidos terminan con un “$”:

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

Por último, pero ciertamente no menos importante, es posible que desees desactivar los servicios innecesarios que CentOS ejecuta por defecto. Determiné que yo, específicamente, no necesito ninguno de los siguientes. Podrías ser diferente, así que infórmate antes de apagarlos:

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

(Opcional) Actualizar Samba para que las computadoras con Windows 7 puedan unirse al dominio

Asegúrate de que ldap ssl = off esté configurado en /etc/samba/smb.conf, ya que esto no era necesario para que la versión del sistema operativo CentOS de Samba funcionara correctamente, pero será necesario una vez que actualicemos (3.0.x vs 3.3.x, que admite Windows 7).

Obtendremos los RPMs de samba más nuevos construidos para CentOS de Sernet:

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

Tus paquetes de samba se actualizarán desde el repositorio de Sernet.
Dado que la actualización, nuestro servicio CentOS para samba desapareció; volvamos a agregarlo:

chkconfig --add smb  
chkconfig smb on

Ahora agrega la computadora con Windows 7 a Unix (suponiendo que el nombre del grupo de computadoras de tu dominio es “samba_domain_computers”):

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

Ahora une tu PC con Windows 7 al dominio usando esta guía oficial de Samba:
http://wiki.samba.org/index.php/Windows7

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.