Escolar Documentos
Profissional Documentos
Cultura Documentos
CONSIDERAES INICIAIS
Este tutorial, criado por Braulio Gomes, aborda a criao de um servidor Samba baseado em banco de dados LDAP
com suporte a autenticao de usurios, tanto pelo Samba quanto pelo Squid.
Reduzir custo gerencial papel de todo bom administrador. Nada mais recomendvel ento, para se iniciar uma boa
gesto de TI, do que manter centralizado o mximo possvel de informaes. Tecnologicamente falando, uma base
centralizada de usurios (e permisses estes usurios) deixou de ser simplesmente uma opo de implementao e
tornou-se uma real necessidade.
Isso se tornou bastante popular, os sistemas operacionais Microsoft Windows NT e Windows 2000 fazem uso de uma
base de dados centralizada para manter a organizao de todas as informaes da rede: trata-se do Active Directory,
que o servio de diretrio implementado pela Microsoft para servir como depsito concentrador de informaes
comuns (objetos). So exemplos de objetos do Active Directory: contas de usurios, grupos de usurios, impressoras
de rede, polticas de controle, etc.
O fato do sistema operacional Linux estar conquistando cada vez mais espao dentro das corporaes (atuando tanto
como servidores quanto como estaes de trabalho), incentivou a comunidade Open Source a integr-lo s j
existentes "redes Windows". exatamente a que entra o Samba, que faz a gerncia de sistemas heterogneos.
bem verdade que mquinas com Linux e executando Samba podem completamente substituir os controladores de
domnio (PDC e BDCs), mas AINDA no podem por si s implementar o Active Directory (caracterstica esta que
certamente estar presente na verso 4 do Samba). Sendo assim vemos a necessidade de colocar ambos sistemas
operacionais para se comunicar em um ambiente de rede; e conseguimos tal feito graas ao protocolo SMB.
Neste documento ser abordado em todos os detalhes necessrios em como montar um Primary Domain Server (PDC)
utilizando Samba + OpenLDAP. Este documento no aborda a explicao terica, mas sim a parte prtica de tudo isso.
Minha inteno na elaborao dessa soluo a unificao da autenticao dos usurios da empresa, podendo assim
os clientes acessarem todos os servios disponibilizados utilizando apenas 1 (um) usurio e senha.
PACOTES UTILIZADOS
A seguir os pacotes que foram necessrios nesta instalao. Neste instante considerarei que todo o sistema
operacional esteja instalado e configurado, pois no abordaremos a instalao do Linux.
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 1/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Sugiro que voc crie um diretrio e armazene todos os pacotes dentro desse, o meu foi criado dentro do /opt:
# mkdir -p /opt/ldap
samba-3.0.20.tar.gz
http://us5.samba.org/samba/ftp/stable/samba-3.0.20.tar.gz (http://us5.samba.org/samba/ftp/stable/samba-3.0.20.tar.gz)
smbldap-tools_0.9.2.orig.tar.gz
http://ftp.ccc.uba.ar/download/.../smbldap-tools_0.9.2.orig.tar.gz
(http://ftp.ccc.uba.ar/download/pub/linux/debian/debian/pool/main/s/smbldap-tools/smbldap-tools_0.9.2.orig.tar.gz)
cyrus-sasl-2.1.22.tar.gz
http://sunsite.rediris.es/pub/mirror/cyrus-mail/cyrus-sasl-2.1.22.tar.gz (http://sunsite.rediris.es/pub/mirror/cyrus-
mail/cyrus-sasl-2.1.22.tar.gz)
openldap-2.3.24.tgz
ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.3.24.tgz
(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.3.24.tgz)
nss_ldap-251.tgz
http://www.padl.com/download/nss_ldap.tgz (http://www.padl.com/download/nss_ldap.tgz)
MigrationTools-57.tgz
http://www.padl.com/download/MigrationTools.tgz (http://www.padl.com/download/MigrationTools.tgz)
Authen-SASL-2.10.tar.gz
http://www.cpan.org/authors/.../Authen-SASL-2.10.tar.gz (http://www.cpan.org/authors/id/G/GB/GBARR/Authen-SASL-
2.10.tar.gz)
Convert-ASN1-0.20.tar.gz
http://search.cpan.org/CPAN/.../Convert-ASN1-0.18.tar.gz
(http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-0.18.tar.gz)
Crypt-SmbHash-0.12.tar.gz
ftp://ftp.inria.fr/pub/CPAN/.../Crypt-SmbHash-0.12.tar.gz (ftp://ftp.inria.fr/pub/CPAN/authors/id/B/BJ/BJKUIT/Crypt-
SmbHash-0.12.tar.gz)
Digest-SHA1-2.11.tar.gz
http://search.cpan.org/CPAN/.../Digest-SHA1-2.11.tar.gz (http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-
SHA1-2.11.tar.gz)
IO-Socket-SSL-0.97.tar.gz
http://mirrors.ibiblio.org/pub/.../IO-Socket-SSL-0.97.tar.gz
(http://mirrors.ibiblio.org/pub/mirrors/CPAN/authors/id/B/BE/BEHROOZI/IO-Socket-SSL-0.97.tar.gz)
Jcode-2.05.tar.gz
http://search.cpan.org/CPAN/.../Jcode-2.05.tar.gz (http://search.cpan.org/CPAN/authors/id/D/DA/DANKOGAI/Jcode-
2.05.tar.gz)
Net_SSLeay.pm-1.25.tar.gz
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 2/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
http://mirror.uta.edu/CPAN/.../Net_SSLeay.pm-1.25.tar.gz
(http://mirror.uta.edu/CPAN/authors/id/S/SA/SAMPO/Net_SSLeay.pm-1.25.tar.gz)
URI-1.33.tar.gz
http://www.volity.org/frivolity/perl/URI-1.33.tar.gz (http://www.volity.org/frivolity/perl/URI-1.33.tar.gz)
Unicode-Map-0.112.tar.gz
http://search.cpan.org/CPAN/.../Unicode-Map-0.112.tar.gz
(http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWARTZ/Unicode-Map-0.112.tar.gz)
Unicode-Map8-0.12.tar.gz
http://search.cpan.org/CPAN/.../Unicode-Map8-0.12.tar.gz
(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-Map8-0.12.tar.gz)
Unicode-MapUTF8-1.11.tar.gz
http://search.cpan.org/CPAN/.../Unicode-MapUTF8-1.11.tar.gz
(http://search.cpan.org/CPAN/authors/id/S/SN/SNOWHARE/Unicode-MapUTF8-1.11.tar.gz)
Unicode-String-2.09.tar.gz
http://search.cpan.org/CPAN/.../Unicode-String-2.09.tar.gz
(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-String-2.09.tar.gz)
XML-SAX-Base-1.04.tar.gz
http://www.volity.org/frivolity/perl/XML-SAX-Base-1.04.tar.gz (http://www.volity.org/frivolity/perl/XML-SAX-Base-1.04.tar.gz)
perl-ldap-0.33.tar.gz
http://search.cpan.org/CPAN/.../perl-ldap-0.33.tar.gz (http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/perl-ldap-
0.33.tar.gz)
httpd-2.0.58.tar.gz
http://ftp.unicamp.br/pub/apache/httpd/httpd-2.0.58.tar.gz (http://ftp.unicamp.br/pub/apache/httpd/httpd-2.0.58.tar.gz)
php-5.1.4.tar.gz
http://br2.php.net/get/php-5.1.4.tar.gz/from/us2.php.net/mirror (http://br2.php.net/get/php-
5.1.4.tar.gz/from/us2.php.net/mirror)
ldap-account-manager-1.0.2.tar.gz
http://prdownloads.sourceforge.net/.../ldap-account-manager-1.0.2.tar.gz (http://prdownloads.sourceforge.net/lam/ldap-
account-manager-1.0.2.tar.gz?download)
AMBIENTE UTILIZADO
Foi utilizado Slackware 10.2.0 com kernel 2.4.31, pois como j um kernel default no Slackware, certamente est
estvel. O ambiente utilizado foi uma mquina virtual construda atravs do software Vmware Workstation.
Foi utilizado o ldap-account-manager como front-end, pois eu o achei mais amigvel em relao aos outros front-ends
utilizados, mas isso fica a critrio do administrador.
INSTALANDO O CYRUS-SASL
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 3/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Se tudo correu bem, vamos criar um link simblico para que o LDAP consiga acessar o DB. Para isso faa o comando:
# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
# ldconfig
INSTALANDO O OPENLDAP
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 4/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
O LDAP (Lightweight Directory Access Protocol) um protocolo utilizado pelos servidores para concentrar informaes
em um repositrio logicamente organizado. graas a ele que informaes comuns podem ser inseridas, alteradas,
excludas e consultadas de uma espcie de "banco de dados de informaes". Ao se registrar um usurio no domnio,
por exemplo, as informaes referentes a esse usurio estaro armazenadas e disponveis graas ao uso deste
protocolo. Por sua vez, o OpenLDAP uma implementao OpenSource do LDAP.
No pacote do Samba existe o "samba.schema", que ser necessrio aqui. Vamos apenas descompactar o Samba:
Agora basta copiar o arquivo "samba.schema" para que seja carregado no LDAP:
# cp /opt/ldap/samba-3.0.20/examples/LDAP/samba.schema /usr/local/etc/openldap/schemas
Lembrando que o "qmail.schema" foi includo porque usarei esta mesma base para a autenticao no Postfix, que
instalarei futuramente.
O nosso slapd.conf, que est no diretrio /usr/local/etc/openldap/slapd.conf, dever ficar da seguinte forma:
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 5/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
# slapd.conf
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/samba.schema
include /usr/local/etc/openldap/schema/qmail.schema
pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args
database bdb
suffix "dc=linuxajuda,dc=org"
rootdn "cn=administrador,dc=linuxajuda,dc=org"
rootpw {SSHA}KwwbIdAjWcAOlxLjgq0O4iRnl7C05NhZ
directory /usr/local/var/openldap-data
password-hash {CRYPT}
password-crypt-salt-format "$1$.8s"
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,mailAlternateAddress,givenname,accountStatus,mailHost,deliveryMode eq
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index default sub
access to attrs=userPassword,sambaLMPassword,sambaNTPassword
by self write
by anonymous auth
by * none
access to *
by * read
POPULANDO O LDAP
Como nossa base bem simples, basta criar um arquivo chamado /root/base.ldif com o seguinte contedo:
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 6/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
dn: dc=linuxajuda,dc=org
dc: linuxajuda
objectClass: top
objectClass: domain
dn: ou=Usuarios,dc=linuxajuda,dc=org
ou: Usuarios
objectClass: top
objectClass: organizationalUnit
dn: ou=Grupos,dc=linuxajuda,dc=org
ou: Grupos
objectClass: top
objectClass: organizationalUnit
dn: ou=Computadores,dc=linuxajuda,dc=org
ou: Computadores
objectClass: top
objectClass: organizationalUnit
Com isso nossa base j est inicializada, um simples "ldapsearch -x" mostra como ela ficou.
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 7/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
$NAMINGCONTEXT{'passwd'} = "ou=Usuarios";
$NAMINGCONTEXT{'group'} = "ou=Grupos";
$DEFAULT_MAIL_DOMAIN = "linuxajuda.org";
$DEFAULT_BASE = "dc=linuxajuda,dc=org";
$DEFAULT_MAIL_HOST = "mail.linuxajuda.org";
Salve e execute o seguinte comando para gerar o arquivo "grupos.ldif", que conter todos os grupos do sistema:
Com isso ele ir gerar o arquivo /root/grupos.ldif com as entradas necessrias para o LDAP.
Pronto! Ele adicionou todos os grupos do sistema no LDAP. No podemos esquecer de adicionar tambm os usurios:
Pronto, nossa base do sistema j esta ok, basta agora informarmos para o sistema se autenticar no LDAP.
NSS_LDAP
host 127.0.0.1
base dc=linuxajuda,dc=org
rootbinddn cn=administrador,dc=linuxajuda,dc=org
Vamos agora modificar as linhas do /etc/nsswitch.conf, esse arquivo onde o sistema busca as informaes de login.
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 8/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
# id root
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy)
se voc verificar nos logs, vai ver que ele buscou as entradas no LDAP:
# tail /var/log/debug
Jun 29 17:17:03 tropical slapd[2526]: conn=11 op=1 SRCH base="dc=tropical,dc=local" scope=2 deref=0 filter="(&
(objectClass=posixGroup))"
Jun 29 17:17:03 tropical slapd[2526]: conn=11 op=1 SRCH attr=cn userPassword memberUid gidNumber
Jun 29 17:17:03 tropical slapd[2526]: conn=11 op=1 SEARCH RESULT tag=101 err=0 nentries=44 text=
Jun 29 17:17:03 tropical slapd[2527]: conn=11 op=2 SRCH base="dc=tropical,dc=local" scope=2 deref=0 filter="(&
(objectClass=posixGroup))"
Jun 29 17:17:03 tropical slapd[2527]: conn=11 op=2 SRCH attr=cn userPassword memberUid gidNumber
Jun 29 17:17:03 tropical slapd[2527]: conn=11 op=2 SEARCH RESULT tag=101 err=0 nentries=44 text=
Jun 29 17:17:03 tropical slapd[2528]: conn=11 op=3 SRCH base="dc=tropical,dc=local" scope=2 deref=0 filter="(&
(objectClass=posixGroup)(gidNumber=512))"
Jun 29 17:17:03 tropical slapd[2528]: conn=11 op=3 SRCH attr=cn userPassword memberUid gidNumber
Jun 29 17:17:03 tropical slapd[2528]: conn=11 op=3 SEARCH RESULT tag=101 err=0 nentries=1 text=
Jun 29 17:17:03 tropical slapd[2521]: conn=11 fd=12 closed (connection lost)
SAMBA
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 9/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Vamos agora parte que devemos ter mais ateno, que a do Samba.
# cd samba-3.0.20
# env CPPFLAGS="-I/usr/local/include/"
# ./configure --bindir=/usr/local/bin --sbindir=/usr/local/sbin --libexecdir=/usr/local/libexec --with-
configdir=/etc/samba --with-mandir=/usr/local/man --with-logfilebase=/var/log/samba --enable-cups --with-
smbmount --with-ldapsam --with-syslog --with-quotas --with-acl-support --with-ads --enable-debug --with-
winbind --with-krb5=/usr --enable-krb5developer
OBS: As duas ltimas opes, --with-krb5=/usr e --enable-krb5developer, use somente se voc tiver o kerberos
instalado, caso contrrio no precisa.
# make
# make install
Vamos agora ao smb.conf, depois de uns trs dias ralando em cima do Samba, pude realmente chegar a configurao
ideal para ele implementado ao LDAP. Segue o smb.conf:
[global]
workgroup = LINUXAJUDA
netbios name = PDC-SRV
server string = Slackware
security = user
encrypt passwords = yes
guest account = nobody
log file = /var/log/samba/%m.log
max log size = 50
os level = 100
local master = yes
domain master = yes
preferred master = yes
domain logons = yes
admin users = administrador root
logon script = %U.bat
logon path = %Lprofiles%U
hosts allow = 10.0.0. 127.
wins support = no
dns proxy = no
ldap passwd sync = yes
ldap delete dn = Yes
passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn = cn=administrador,dc=linuxajuda,dc=org
ldap suffix = dc=linuxajuda,dc=org
ldap group suffix = ou=Grupos
ldap user suffix = ou=Usuarios
ldap machine suffix = ou=Computadores
ldap idmap suffix = ou=Idmap
idmap backend = ldap:ldap://127.0.0.1
idmap uid = 10000-15000
idmap gid = 10000-15000
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 10/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
[homes]
[profiles]
path = /home/profiles
browseable = no
writeable = yes
force user = %U
valid users = %U @"Domain Admins"
[netlogon]
path = /home/netlogon
browseable = no
guest ok = no
writeable = no
share modes = no
read only = yes
[printers]
comment = Impressoras
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 11/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
printable = yes
[publico]
[sistema]
# vim /etc/rc.d/rc.samba
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 12/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
#!/bin/sh
#
# /etc/rc.d/rc.samba
#
# Start/stop/restart the Samba SMB file/print server.
#
# To make Samba start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.samba
#
samba_start() {
if [ -x /usr/local/sbin/smbd -a -x /usr/local/sbin/nmbd -a -r /etc/samba/smb.conf ]; then
echo "Starting Samba: /usr/local/sbin/smbd -D"
/usr/local/sbin/smbd -D
echo "/usr/local/sbin/nmbd -D"
/usr/local/sbin/nmbd -D
fi
}
samba_stop() {
killall smbd nmbd
}
samba_restart() {
samba_stop
sleep 2
samba_start
}
case "$1" in
'start')
samba_start
;;
'stop')
samba_stop
;;
'restart')
samba_restart
;;
*)
# Default is "start", for backwards compatibility with previous
# Slackware versions. This may change to a 'usage' error someday.
samba_start
esac
# /etc/rc.d/rc.samba start
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 13/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
SMBLDAP-TOOLS
Pronto, o Samba est no ar, agora vamos configurar o smbldap-tools, que uma ferramenta de administrao do
LDAP.
Eu particularmente prefiro usar um front-end, pois pode acontecer de dar alguns erros com ela, mas no deixa de ser
uma boa ferramenta para administrao.
Vamos editar o arquivo de configurao do smbladp-tools, que fica dentro do diretrio que voc acabou de criar.
Lembrando que: o SID obtido com o seguinte comando:
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 14/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
# smbldap.conf
SID="S-1-5-21-4172198711-3320573932-1449352776"
sambaDomain="LINUXAJUDA"
slaveLDAP="127.0.0.1"
slavePort="389"
masterLDAP="127.0.0.1"
masterPort="389"
ldapTLS="0"
verify=""
cafile=""
clientcert=""
clientkey=""
suffix="dc=linuxajuda,dc=org"
usersdn="ou=Usuarios,${suffix}"
computersdn="ou=Computadores,${suffix}"
groupsdn="ou=Grupos,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
scope="sub"
# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
hash_encrypt="CRYPT"
crypt_salt_format="$1$%.8s"
userLoginShell="/bin/false"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="Ldap User"
defaultUserGid="1000"
defaultComputerGid="1000"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="45"
userSmbHome="\PDC-SRV\%U"
userProfile="\PDC-SRVprofiles\%U"
userHomeDrive="H:"
#userScript="%U.bat"
mailDomain="tropical.local"
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
# no_banner="1"
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 15/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
# ldapsearch -x
dn: sambaDomainName=linuxajuda,dc=linuxajuda,dc=org
sambaDomainName: linuxajuda
sambaSID: S-1-5-21-4172198711-3320573932-1449352776
sambaAlgorithmicRidBase: 1000
objectClass: sambaDomain
sambaNextUserRid: 31000
sambaNextGroupRid: 31001
# smbpasswd -w SENHA
slaveDN="cn=administrador,dc=linuxajuda,dc=org"
slavePw="senha"
masterDN="cn=administrador,dc=linuxajuda,dc=org"
masterPw="senha"
# cp smbldap_tools.pm /usr/lib/perl5/5.8.7/i486-linux/
PACOTES PERL
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 16/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Agora vamos instalar os pacotes de mdulos para o Perl. Descompacte um por um e use logo abaixo os comandos
para instalao:
Convert-ASN1-0.20.tar.gz
Authen-SASL-2.10.tar.gz
Crypt-SmbHash-0.12.tar.gz
Digest-SHA1-2.11.tar.gz
IO-Socket-SSL-0.97.tar.gz
Jcode-2.05.tar.gz
Net_SSLeay.pm-1.25.tar.gz
URI-1.33.tar.gz
Unicode-Map-0.112.tar.gz Unicode-Map8-0.12.tar.gz
Unicode-String-2.09.tar.gz
XML-SAX-Base-1.04.tar.gz
perl-ldap-0.33.tar.gz
# perl Makefile.PL
# make
# make test
# make install
NEXTUID
Pronto, agora precisamos informar qual ser o prximo uid disponvel para ele criar os usurios. Para isso, inserimos a
seguinte entrada no LDAP.
dn: cn=NextFreeUnixId,dc=linuxajuda,dc=org
objectClass: inetOrgPerson
objectClass: sambaUnixIdPool
uidNumber: 1000
gidNumber: 1000
cn: NextFreeUnixId
sn: NextFreeUnixId
Agora que temos nossa base praticamente pronta, vamos popular a base usando o comando abaixo:
# smbldap-populate
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 17/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
APACHE2 + PHP5
Pronto, nosso LDAP + Samba j est praticamente funcionando, bastando apenas administr-lo. agora que entra o
LDAP Administrator Manager (LAM).
Em seguida vamos instalar o PHP, resolvi usar o PHP5 que j est bem estvel:
# /usr/local/apache2/bin/apachectl start
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 18/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Depois de muito estudar sobre um bom front-end que pudesse me dar todas as ferramentas para uma boa
administrao do LDAP, acabei encontrando o LAM, mas existem vrias outras ferramentas, como o PhpLdapAdmin por
exemplo.
Agora vamos instalar o Ldap Account Manager. Primeiro crie o usurio e o grupo httpd:
# useradd httpd
# groupadd httpd
# mv ldap-account-manager-1.0.2.tar.gz /usr/local/apache2/htdocs
Descompacte-o:
Renomeie-o:
# mv ldap-account-manager-1.0.2 lam/
Entre no diretrio:
# cd /usr/local/apache2/htdocs/lam
# ./configure
# make install
# cp config.cfg.example config.cfg
# cp lam.conf.example lam.conf
E o lam.config:
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 19/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
samba3: yes
# Module settings
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 20/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Todo administrador sempre deve estar preocupado com a segurana de seus servidores, por isso aqui esta uma boa
soluo para acrescentar ao seu LDAP Server. A seguir vamos aplicar as configuraes ao LDAP usando os utilitrios
do OpenSSL para gerar as chaves auto-assinadas para ele.
Foi desabilitada a verificao do certificado (se h alguma entidade certificadora que garante que voc voc mesmo).
Estamos apenas interessados em usar um tnel criptografado.
Primeiramente vamos criar um diretrio dentro do /usr/local/etc/openldap chamado certificates e depois um script para
gerar as chaves criptografadas.
#!/bin/sh
# /usr/local/etc/openldap/certificates/gerador.sh
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 21/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
# sh gerador.sh
Ele far algumas perguntas (veja abaixo) como requisio se senhas, escolha uma senha de maneira que voc no v
esquec-la, eu usei a mesma do admin.
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 22/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
OBS: Onde perdir "Enter pass phrase for client" ou server, digite uma senha.
So necessrios 2 pequenas configuraes no OpenLDAP para que ele aceite o certificado criado.
Em /etc/openldap/slapd.conf:
TLSCertificateFile /etc/openldap/certificates/server.csr
TLSCertificateKeyFile /etc/openldap/certificates/server.key
TLSVerifyClient 0
host ldap.linuxajuda.org
base dc=linuxajuda,dc=org
uri ldaps://ldap.linuxajuda.org
rootbinddn cn=administrador,dc=linuxajuda,dc=org
port 636
ssl true
TLS_CERT /etc/openldap/certificates/client.csr
TLS_KEY /etc/openldap/certificates/client.key
TLS_REQCERT never
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 23/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
para:
ServerURL: ldaps://ldap.tropical.local:636
slavePort="636"
masterPort="636"
Depois de gerar o certificado, tive que incluir uma entrada no DNS para o LDAP porque ele estava reclamando o
hostname, a bastou incluir ldap.linuxajuda.org no DNS e estava resolvido.
nameserver ldap.linuxajuda.org
10.0.0.101 ldap.linuxajuda.org
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 24/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
OBS: Acrescente essa linha no seu rc.local para carregar seu LDAP no boot.
HABILITANDO O SASL
# saslpasswd2 -c administrador
# sasldblistusers2
administrador@linuxajuda: cmusaslsecretOTP
administrador@linuxajuda: userPassword
Depois que instalei o LDAP e alterei o nsswitch.conf, percebi que o sistema operacional tinha ficado lento tanto pra
iniciar quanto pra fazer login e digitar alguns comandos, foi ento que quase sem querer encontrei a soluo para o
meu problema. Creio que voc possa ter o mesmo problema que eu, mas vamos l a soluo:
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 25/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
6. Na opo "Logon primrio da rede", selecionar clientes para redes Microsoft, aplicar as alteraes e reiniciar o
computador.
# smbldap-useradd -w Maq01
2. Entrar no "Painel de Controle" em modo de exibio clssico, editar as propriedades do cone "Sistema";
5. Selecionar a opo "Este computador faz parte de uma rede corporativa..." e clicar em "Avanar";
6. Selecionar a opo "Minha empresa usa uma rede com um domnio", clicar em "Avanar" e clicar em "Avanar"
novamente;
7. Digitar no "nome do usurio" um usurio que j exista no Samba, sua senha e o domnio e clicar em "Avanar";
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 26/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
11. Selecionar o nvel de acesso "Outros", selecionar o grupo "Administradores" e clicar e "Avanar" e "Concluir", mas
NO reiniciar o computador;
12. Entrar no "Painel de Controle" em modo de exibio clssico e entrar em "Ferramentas Administrativas";
13. Entrar em "Diretiva de Segurana local" e depois abrir a chave "Diretivas locais" e clicar em "Opes de
Segurana";
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
netlogonparameters"RequireSignOrSeal"=dword:00000000
5. Selecionar a opo "Este computador faz parte de uma rede corporativa..." e clicar em "Avanar";
6. Selecionar a opo "Minha empresa usa uma rede com um domnio" e clicar em "Avanar" e clicar em "Avanar"
novamente;
7. Digitar no "nome do usurio" um usurio que j exista no Samba devidamente configurado, sua senha, domnio e
clicar em "Avanar";
11. Selecionar o nvel de acesso "Outros" e selecionar o grupo "Administradores" e clicar e "Avanar" e "Concluir", e
reiniciar o computador.
# smbladp-useradd -w maq02
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 27/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 28/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Bom, agora que j temos nosso servidor Samba com Active Directory usando o LDAP, pensei porque no colocar os
usurios de internet para autenticar no LDAP para acessar a internet, lembrando que no vou abordar uma
configurao mais afundo do Squid, para isso voc dever buscar em outras faqs ou manuais. Segue a baixo como
instalar o Squid com suporte a LDAP:
Faremos a compilao bsica e depois compilaremos os programas de autenticao LDAP separadamente. Para tanto,
use a famosa seqncia:
Com isso o seu Squid j estar instalado e pronto pra ser configurado.
Agora passaremos para o passo seguinte, onde iremos acessar squid-2.5.STABLE8/helpers /basic_auth/LDAP e
compilar o daemon squid_ldap_auth, que far a autenticao de usurios no AD:
# cd /squid-2.5.STABLE8/helpers /basic_auth/LDAP
# make
# cp squid_ldap_auth /usr/local/squid/libexec
# cd /squid-2.5.STABLE8/helpers/external_acl/ldap_group:
# make
# cp squid_ldap_group /usr/local/squid/libexec
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 29/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
auth_param basic realm (Canal Linux (//www.vivaolinux.com.br/linux/)ajuda): Autenticao de Usurio para Internet
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 30/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]
Bom galera, depois de quase 2 meses trabalhando em cima deste HOWTO, finalmente consegui chegar ao seu final e o
melhor de tudo, com o LDAP funcionando perfeitamente. Em breve adicionarei o Postfix ao LDAP tambm.
Gostaria de agradecer e muito as pessoas que puderam contribuir e me ajudar de forma direta e indireta neste
pequeno trabalho e que puderam fazer deste tutorial uma realidade, onde poucas pessoas conseguiam obter sucesso
atravs de outros tutoriais distribudos pela internet devido a falta de documentao para essa maravilhosa distribuio
chamada Slackware.
AGRADECIMENTOS ESPECIAIS
Voltar (verArtigo.php?codigo=5178)
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 31/31