Samba LDAP · 2 min read · Dec 11, 2025
Controlador de Domínio Samba CentOS 5.x Com Backend LDAP
Controlador de Domínio Samba CentOS 5.x Com Backend LDAP
Isso mostrará como configurar um Controlador de Domínio Samba com um backend LDAP local, usando CentOS 5.x (testado em 5.3, ainda funcionando com sucesso em 5.4). Inclui uma interface web para gerenciar usuários/grupos/etc. LDAP.
Janeiro de 2010 – Agora com suporte para logins de domínio do Windows 7 (veja o final do guia).
Desativar selinux:
Isso só causará problemas, não vou mexer com o SELinux neste guia, exceto desativá-lo.
echo 0 >/selinux/enforceDentro de /etc/sysconfig/selinux, defina:
SELINUX=disabledInstalar algumas ferramentas
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
yum update
yum install openldap-servers nss_ldap samba httpd openssl mod_ssl mysql mysql-server php php-xml php-ldap php-mysql php-pdo php-cli php-common smbldap-toolsInstalar smbldap-tools dessa forma deve instalar todos os módulos perl dependentes, no entanto, a versão disponível no yum tem alguns bugs, então vamos atualizar para a versão mais recente depois, mantendo as dependências, mas sobrescrevendo o pacote smbldap-tools:
rpm -Uvh http://download.gna.org/smbldap-tools/packages/smbldap-tools-0.9.5-1.noarch.rpmConfigurar o nome do host
Para nossos propósitos neste guia, estamos chamando o nome do host do servidor de “dc1” e o domínio de “DOMAINNAME”. Nota: Se você quiser usar seu fqdn para seu domínio Samba, onde quer que você veja, dc=DOMAINNAME abaixo, substitua por, dc=example, dc=com, assumindo que seu fqdn é example.com. Também note que “root” será o nome de usuário do administrador samba, se você não gostar disso, mude também. As linhas relacionadas são: cn=root e cn: root
Dentro de /etc/hosts, adicione ou substitua sua linha (seguindo o formato do arquivo, assumindo que 192.168.0.5 é o IP acessível na rede do seu servidor):
192.168.0.5 dc1.DOMAINNAME dc1Defina seu nome de host na linha de comando:
hostname dc1.DOMAINNAMEGerar uma senha mestre e configurar ldap
slappasswdAnote a saída do slappasswd, você a inserirá no slapd.conf em um minuto.
mv -f /etc/openldap/slapd.conf /etc/openldap/slapd.conf.distInsira o seguinte texto em /etc/openldap/slapd.conf:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
database bdb
suffix "dc=DOMAINNAME"
rootdn "cn=root,dc=DOMAINNAME"
rootpw {SSHA}TTzshhAbmZPPb8F2s7sgf9B+IrZt+nUD
password-hash {SSHA}
directory /var/lib/ldap
index cn,sn,uid,displayName pres,sub,eq
index uidNumber,gidNumber eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index objectClass pres,eq
index default subNote a linha rootpw no texto acima, é onde você cola sua saída do slappasswd.
cp /usr/share/doc/samba-3.*/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_CONFIGInsira o seguinte texto em /etc/openldap/init.ldif:
dn: dc=DOMAINNAME
objectclass: dcObject
objectclass: organization
o: CentOS Directory Server
dc: DOMAINNAME
dn: cn=root,dc=DOMAINNAME
objectclass: organizationalRole
cn: root
slapadd -l /etc/openldap/init.ldif
chown -R ldap:ldap /var/lib/ldap
chmod 600 /var/lib/ldap/*
slapcatslapcat deve produzir algo muito semelhante à seguinte saída:
dn: dc=DOMAINNAME
objectClass: dcObject
objectClass: organization
o: CentOS Directory Server
dc: DOMAINNAME
structuralObjectClass: organization
entryUUID: 717d1b1e-ce90-102d-88c3-df22563ebfee
creatorsName: cn=root,dc=DOMAINNAME
modifiersName: cn=root,dc=DOMAINNAME
createTimestamp: 20090506134920Z
modifyTimestamp: 20090506134920Z
entryCSN: 20090506134920Z#000000#00#000000
dn: cn=root,dc=DOMAINNAME
objectClass: organizationalRole
cn: root
structuralObjectClass: organizationalRole
entryUUID: 71858556-ce90-102d-88c4-df22563ebfee
creatorsName: cn=root,dc=DOMAINNAME
modifiersName: cn=root,dc=DOMAINNAME
createTimestamp: 20090506134920Z
modifyTimestamp: 20090506134920Z
entryCSN: 20090506134920Z#000001#00#000000
service ldap start
chkconfig ldap on
ldapsearch -x -b "dc=DOMAINNAME"A saída do ldapsearch deve ser muito semelhante à seguinte:
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# DOMAINNAME
dn: dc=DOMAINNAME
objectClass: dcObject
objectClass: organization
o: CentOS Directory Server
dc: DOMAINNAME
# root, DOMAINNAME
dn: cn=root,dc=DOMAINNAME
objectClass: organizationalRole
cn: root
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.