Samba LDAP · 4 min read · Dec 12, 2025

Controlador de Domínio Samba CentOS 5.x Com Backend LDAP - Página 2

Configurando a administração remota do diretório ldap

Edite /etc/php.ini e certifique-se de que memory_limit está definido para pelo menos 32 MB:

memory_limit = 32M

Na última vez que verifiquei, a versão do phpldapadmin disponível via yum está quebrada, então vamos obter a mais recente e extrair: Vá para http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=177751 e baixe a versão mais recente. No meu caso, isso resultou nos seguintes comandos, seu pacote pode ser mais novo:

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

Agora edite ./pla/config/config.php e descomente a seguinte linha:

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

Disponibilizando o software recém-configurado

service httpd restart  
chkconfig httpd on

Edite /etc/sysconfig/iptables e copie & modifique a linha sobre ssh (–dport 22 -j ACCEPT), e logo após, adicione (assumindo que sua instalação do CentOS produziu o arquivo iptables padrão):

#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

Agora abra seu navegador e visite https://192.168.0.5/samba/pla/ e faça login com Nome de Usuário cn=root,dc=DOMAINNAME e sua senha. Você deve ser capaz de olhar ao redor e ver algumas coisas.

Integrar 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

Edite /etc/samba/smb.conf ao seu gosto, a parte ldap padrão deve estar boa.
Sob [global], você precisará adicionar essas três configurações que não estão lá por padrão:


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

Observe que net getlocalsid irá gerar muitos erros até o final, porque você ainda não configurou completamente o samba – mas irá produzir o sid que você precisa para o próximo passo.

Edite /etc/smbldap-tools/smbldap.conf e insira sid, domínio, etc, por todo o arquivo até o final.

Edite /etc/smbldap-tools/smbldap_bind.conf e mude ambas as linhas aplicáveis, troque “secret” pela sua senha.

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

Verifique se a saída do authconfig-tui contém:

[ ] A autorização local é suficiente

Agora teste sua configuração do samba:

testparm
smbpasswd -w SUA_SENHA_ROOT_LDAP_AQUI  
smbldap-populate

smbldap-populate irá pedir a senha, insira-a.

Iniciar a instalação do LDAP Samba

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

Adicione usuários/grupos, correlacione entre unix e ldap:

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

Obtenha uma visão dos grupos UNIX que ainda não estão lá que o LDAP assume:

net groupmap list

A saída é 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

Adicione grupos correlacionados ao unix, usando os 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

Se você quiser adicionar um grupo não embutido ao LDAP/Samba, digamos para controlar quais usuários podem ler/escrever arquivos em um compartilhamento, e ter isso determinado por grupos:

smbldap-groupadd -a "Pessoas Em Nosso Escritório"

Então obtenha a saída de net groupmap list novamente e correlacione o novo grupo criado # assim como da última vez, adicionando o grupo ao sistema unix:

groupadd -g 1001 samba_people_in_our_office

Adicione usuários aos grupos LDAP via a interface web, depois correlacione no unix:

usermod -a -G NOME_DO_GRUPO_UNIX NOME_DE_USUÁRIO_UNIX

Adicione também contas de computador ao unix, usando o grupo “samba_domain_computers” de cima, e onde os nomes dos computadores permitidos terminam com um “$”:

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

Por último, mas certamente não menos importante, você pode querer desligar os serviços desnecessários que o CentOS executa por padrão. Eu determinei que eu, especificamente, não preciso de nenhum dos seguintes. Você pode ser diferente, então pesquise antes de desligá-los:

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) Atualizar Samba para que computadores Windows 7 possam ingressar no domínio

Certifique-se de que ldap ssl = off está definido em /etc/samba/smb.conf, pois isso não era necessário para a versão do Samba da distribuição CentOS funcionar corretamente, mas será necessário uma vez que atualizarmos (3.0.x vs 3.3.x, que suporta Windows 7).

Vamos obter os RPMs mais novos do samba construídos para CentOS da Sernet:

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

Seus pacotes samba serão atualizados do repositório Sernet.
Desde a atualização, nosso serviço CentOS para samba desapareceu; vamos re-adicioná-lo:

chkconfig --add smb  
chkconfig smb on

Agora adicione o computador Windows 7 ao Unix (assumindo que o nome do grupo de computadores do seu domínio é “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$

Agora junte seu PC Windows 7 ao domínio usando este guia oficial do Samba:
http://wiki.samba.org/index.php/Windows7

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.