Você está na página 1de 31

8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

TUTORIAL COMPLETO DE IMPLEMENTAO DE LDAP + SAMBA + SQUID

Autor: Braulio Gomes Rodrigues <brauliogr at gmail.com>


Data: 26/07/2006

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.

Tutorial criado em: 30/06/2006


Plataforma: Slackware 10.2
Verso do Tutorial: TUTORIAL-LDAP-1.0
Licena: LDP ( Linux (//www.vivaolinux.com.br/linux/) Documentation Project )

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

Para a nosso LDAP-Server Linux, deveremos obter:

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]

O Cyrus-Sasl um pacote de autenticao segura que vamos usar para o Samba:

# tar -zxvf cyrus-sasl-2.1.22.tar.gz


# cd cyrus-sasl-2.1.22
# ./configure --with-bdb-libdir=/usr/lib --with-bdb-incdir=/usr/include/db4
# make
# make install

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

OBS: necessrio que seu sistema tenha o DB4 instalado.

Atualize a biblioteca do seu sistema rodando o comando:

# 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.

# tar -zxvf openldap-2.3.24.tgz


# cd openldap-2.3.24
# env CPPFLAGS="-I/usr/include/db4" LDFLAGS="-L/usr/lib" ./configure --enable-crypt
# make depend
# make
# make install

CONFIGURANDO O SERVIDOR LDAP

No pacote do Samba existe o "samba.schema", que ser necessrio aqui. Vamos apenas descompactar o Samba:

# tar -zxvf samba-3.0.20.tar.gz

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:

OBS: O rootpw deve ser gerado com slappasswd.

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

Agora s incluir essas entradas no LDAP usando o comando abaixo:

# ldapadd -x -D cn=administrador,dc=linuxajuda,dc=org -W -f /root/base.ldif


Enter LDAP Password:
adding new entry "dc=linuxajuda,dc=org"
adding new entry "ou=Usuarios,dc=linuxajuda,dc=org"
adding new entry "ou=Grupos,dc=linuxajuda,dc=org"
adding new entry "ou=Computadores,dc=linuxajuda,dc=org"

Com isso nossa base j est inicializada, um simples "ldapsearch -x" mostra como ela ficou.

Agora migraremos nossas contas do sistema para o LDAP usando o MigrationTools.

MIGRANDO OS GRUPOS E USURIOS

Agora migraremos nossas contas do sistema para o LDAP:

# tar zxvf MigrationTools.tgz


# cd MigrationTools-47

Edite o arquivo migrate_common.ph e altere as seguintes linhas:

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:

# ./migrate_group.pl /etc/group /root/grupos.ldif

Com isso ele ir gerar o arquivo /root/grupos.ldif com as entradas necessrias para o LDAP.

Agora vamos inserir as entradas dos grupos no LDAP:

# ldapadd -x -D cn=administrador,dc=linuxajuda,dc=org -W -f /root/grupos.ldif

Pronto! Ele adicionou todos os grupos do sistema no LDAP. No podemos esquecer de adicionar tambm os usurios:

# ./migrate_passwd.pl /etc/passwd /root/usuarios.ldif


# ldapadd -x -D cn=administrador,dc=linuxajuda,dc=org -W -f /root/usuarios.ldif

Pronto, nossa base do sistema j esta ok, basta agora informarmos para o sistema se autenticar no LDAP.

NSS_LDAP

Instale o pacote de configuraes de contas:

# tar zxvf nss_ldap.tgz


# cd nss_ldap-251
# ./configure
# make
# make install

necessrio modificar o arquivo /etc/ldap.conf:

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.

Altere as seguintes linhas para que fique assim:

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 8/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

passwd: files ldap


shadow: files ldap
group: files ldap

passwd: compat ldap


group: compat ldap

Agora vamos testar o LDAP:

# 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)

Bom, o LDAP j est funcionando!

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.

Como j tnhamos descompactado anteriormente, vamos entrar no diretrio dele:

# 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]

template shell = /bin/false


winbind use default domain = no
;smb passwd file=/etc/samba/smbpasswd
passwd program=/usr/bin/passwd %u
passwd chat = *New*password* %n *Retype*new*password* %n
;#*passwd:*all*authentication*tokens*updated*successfully*
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
delete user script = /usr/local/sbin/smbldap-userdel "%u"
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
dos charset = UTF-8
unix charset = UTF-8

[homes]

comment = Diretrio Home


browseable = no
writable = yes
create mask = 0700
directory mask = 0700
force user = %U

[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]

comment = rea Publica


path = /publico
browseable = yes
create mask = 0777
directory mask = 0777
guest ok = yes
writable = yes
force user = %U

[sistema]

comment = rea do Sistema da Empresa


path = /sistema
browseable = yes
create mode = 0777
directory mask = 0777
guest ok = yes
writable = yes
force user = %U

Edite-o de acordo com suas necessidades.

Agora vamos criar um script para iniciar o Samba:

# 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

Crie o diretrio /var/log/samba e rode o script /etc/rc.d/rc.samba:

# /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.

# tar zxvf smbldap-tools_0.9.2.orig.tar.gz


# cd smbldap-tools_0.9.2
# cp -f smbldap-* /usr/local/sbin/
# mkdir /etc/smbldap-tools/
# cp smbldap.conf smbldap_bind.conf /etc/smbldap-tools/
# chmod 644 /etc/smbldap-tools/smbldap.conf
# chmod 600 /etc/smbldap-tools/smbldap_bind.conf

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:

# net getlocalsid linuxajuda

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]

E se notar, aps isso ele automaticamente cria uma entrada no LDAP:

# 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

Agora vamos armazenar a senha do admin do LDAP no secrets:

# smbpasswd -w SENHA

Edite o arquivo /etc/smbldap-tools/smbldap_bind.conf e configure da seguinte forma:

slaveDN="cn=administrador,dc=linuxajuda,dc=org"
slavePw="senha"
masterDN="cn=administrador,dc=linuxajuda,dc=org"
masterPw="senha"

Aps isso necessrio copiar o arquivo smbldap_tools.pm para o diretrio /usr/lib/perl5/5.8.7/i486-linux/:

# 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:

# tar -zxvf (em cada arquivo desse)

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

Entre no diretrio de cada um e execute:

# 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.

Salve as seguintes informaes em um arquivo chamado "nextuid.ldif":

dn: cn=NextFreeUnixId,dc=linuxajuda,dc=org
objectClass: inetOrgPerson
objectClass: sambaUnixIdPool
uidNumber: 1000
gidNumber: 1000
cn: NextFreeUnixId
sn: NextFreeUnixId

Inclua a entrada no LDAP:

# ldapadd -x -D cn=administrador,dc=linuxajuda,dc=org, -W -f root/nextuid.ldif

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).

Primeiramente vamos instalar o servidor web (Apache):

# tar -zxvf httpd-2.0.58.tar.gz


# cd httpd-2.0.58
# ./configure --enable-so
# make
# make install

Em seguida vamos instalar o PHP, resolvi usar o PHP5 que j est bem estvel:

# tar -zxvf php-5.1.4.tar.gz


# cd php-5.1.4
# env CPPFLAGS="-I/usr/local/include"
# ./configure --with-ldap --with-gettext --libexecdir=/usr/libexec/apache --with-
apxs2=/usr/local/apache2/bin/apxs --with-mhash
# make
# make install

Inclua as linhas abaixo no seu httpd.conf, que fica em /usr/local/apache2/confs/httpd.conf:

# Confira se o PHP j no incluiu essa linha no seu conf


LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php .phtml


AddType application/x-httpd-php-source .phps

Feito isso vamos iniciar o Apache:

# /usr/local/apache2/bin/apachectl start

LAM - LDAP ACCOUNT MANAGER

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

Depois pegue o pacote ldap-account-manager-1.0.2.tar.gz e o mova para:

# mv ldap-account-manager-1.0.2.tar.gz /usr/local/apache2/htdocs

Descompacte-o:

# tar -zxvf ldap-account-manager-1.0.2.tar.gz

Renomeie-o:

# mv ldap-account-manager-1.0.2 lam/

Entre no diretrio:

# cd /usr/local/apache2/htdocs/lam
# ./configure
# make install

Agora vamos configur-lo. Entre no diretrio /usr/local/apache2/htdocs/lam/config e copie os arquivos


config.cfg.example e lam.conf.example:

# cp config.cfg.example config.cfg
# cp lam.conf.example lam.conf

Agora vamos editar os arquivos config.cfg e lam.conf.

Deixe seu config.cf exatamente assim:

password to add/delete/rename configuration profiles


password: system

# default profile, without ".conf"


default: lam

E o lam.config:

# LDAP Account Manager configuration

# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)


serverURL: ldap://localhost:389

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 19/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

# list of users who are allowed to use LDAP Account Manager


# names have to be seperated by semicolons
# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org
admins: cn=administrador,dc=tropical,dc=local

# password to change these preferences via webfrontend


passwd: system

# suffix of tree view


# e.g. dc=yourdomain,dc=org
treesuffix: dc=tropical,dc=local
usersuffix: ou=Usuarios,dc=tropical,dc=local
groupsuffix: ou=Grupos,dc=tropical,dc=local
hostsuffix: ou=Computadores,dc=tropical,dc=local
domainsuffix: ou=Dominios,dc=tropical,dc=local

# maximum number of rows to show in user/group/host lists


maxlistentries: 30

# default language (a line from config/language)


defaultLanguage: en_GB.utf8:UTF-8:English (Great Britain)

# Path to external Script


scriptPath:

# Server of external Script


scriptServer:

# Number of minutes LAM caches LDAP searches.


cachetimeout: 5

samba3: yes

# Module settings

modules: posixAccount_minUID: 10000


modules: posixAccount_maxUID: 30000
modules: posixAccount_minMachine: 50000
modules: posixAccount_maxMachine: 60000
modules: posixGroup_minGID: 10000
modules: posixGroup_maxGID: 20000
modules: posixGroup_pwdHash: CRYPT
modules: posixAccount_pwdHash: CRYPT

# List of active account types.


activeTypes: user,group,host,smbDomain

types: suffix_user: ou=Usuarios,dc=tropical,dc=local


types: attr_user: #uid;#givenName;#sn;#uidNumber;#gidNumber
types: modules_user: inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount

types: suffix_group: ou=Grupos,dc=tropical,dc=local

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 20/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

types: attr_group: #cn;#gidNumber;#memberUID;#description


types: modules_group: posixGroup,sambaGroupMapping

types: suffix_host: ou=Computadores,dc=tropical,dc=local


types: attr_host: #cn;#description;#uidNumber;#gidNumber
types: modules_host: account,posixAccount,sambaSamAccount

types: suffix_smbDomain: ou=Dominios,dc=tropical,dc=local


types: attr_smbDomain: sambaDomainName:Domain name;sambaSID:Domain SID
types: modules_smbDomain: sambaDomain

IMPLEMENTANDO SSL AO SEU LDAP SERVER

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.

GERANDO AS CHAVES CRIPTOGRAFADAS

Note que as chaves devero ser geradas dentro do diretrio /usr/local/etc/openldap/certificates/.

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.

Utilize seu editor de textos preferido e crie o script gerador.sh:

#!/bin/sh
# /usr/local/etc/openldap/certificates/gerador.sh

# Certificado para a funo "server"


echo " necessrio prover uma senha para a chave privada."
openssl genrsa -des3 -out server.key 4096
# Esta linha agora REMOVE a passphrase da chave privada
echo "Digite primeiro a senha da chave privada, depois um para remova-la"
openssl rsa -in server.key -out server.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.csr

# Certificado para a funo "client"


echo "Gerando a chave para o client. Mesmo procedimento anterior"
openssl genrsa -des3 -out client.key 1024
openssl rsa -in client.key -out client.key
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.csr

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 21/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

Use o comando a baixo para rodar o script:

# 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.

necessrio prover uma senha para a chave privada.

Generating RSA private key, 4096 bit long modulus


...
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key

Digite primeiro a senha da chave privada, depois um <ENTER> para remov-la.

Enter pass phrase for server.key:


riting RSA key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Goias
Locality Name (eg, city) []:Goiania
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Canal Linux (//www.vivaolinux.com.br/linux/)ajuda
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:administrador
Email Address []:administrador@linuxajuda.org

Please enter the following 'extra' attributes


to be sent with your certificate request
challenge password []:system
An optional company name []:
Signature ok
subject=/C=BR/ST=Goias/L=Goiania/O=Canal
Linuxajuda/CN=administrador/emailAddress=administrador@linuxajuda.org
Getting Private key
Gerando a chave para o client. Mesmo procedimento anterior
Generating RSA private key, 1024 bit long modulus
...
e is 65537 (0x10001)
Enter pass phrase for client.key:
Verifying - Enter pass phrase for client.key:
Enter pass phrase for client.key:
writing RSA key
You are about to be asked to enter information that will be incorporated

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 22/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

into your certificate request.


What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Goias
Locality Name (eg, city) []:Goiania
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Canal Linuxajuda
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:administrador
Email Address []:administrador@linuxajuda.org

Please enter the following 'extra' attributes


to be sent with your certificate request
A challenge password []:system
An optional company name []:
Signature ok
subject=/C=BR/ST=Goias/L=Goiania/O=Canal
Linuxajuda/CN=administrador/emailAddress=administrador@linuxajuda.org
Getting Private key

OBS: Onde perdir "Enter pass phrase for client" ou server, digite uma senha.

O LDAP E SEUS ARQUIVOS DE CONFIGURAES

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

Aps isso modifique o arquivo /etc/ldap.conf para:

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]

Altere a linha no smb.conf de:

passdb backend = ldapsam:ldap://ldap.linuxajuda.org/

para:

passdb backend = ldapsam:ldaps://ldap.linuxajuda.org/

Vamos alterar tambm o lam.conf:

ServerURL: ldaps://ldap.tropical.local:636

Altere o smbldap.conf nas seguintes linhas:

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.

Edite o arquivo /etc/resolv.conf e acrescente a linha:

nameserver ldap.linuxajuda.org

Edite tambm o /etc/hosts:

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]

Agora basta inicializar o slapd com o seguinte comando:

# /usr/local/libexec/slapd -h "ldap:/// ldaps:///" -4

OBS: Acrescente essa linha no seu rc.local para carregar seu LDAP no boot.

Agora vamos aos testes:

# ldapsearch -x -ZZ -h ldap.linuxajudaorg -b 'dc=linuxajuda,dc=org' (objectclass=*)'

HABILITANDO O SASL

Primeiro armazenamos a senha do usurio suporte com:

# saslpasswd2 -c administrador

Podemos listar os usurios com:

# sasldblistusers2
administrador@linuxajuda: cmusaslsecretOTP
administrador@linuxajuda: userPassword

SEU SISTEMA FICOU LENTO NA INICIALIZAO?

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:

Abra o arquivo /etc/rc.d/rc.S e localize o trecho "Create a fresh utmp file:";


Comente a linha "chown root.utmp /var/run/utmp";
Mude a linha "chmod 664 /var/run/utmp" para "chmod 666 /var/run/utmp";
Abra o arquivo /etc/rc.d/rc.local e adicione as prximas duas linhas:

chown root.utmp /var/run/utmp


chmod 664 /var/run/utmp

Pronto, seu sistema est rpido de novo!

ADICIONANDO AS MQUINAS WINDOWS 98 NO SAMBA

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 25/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

1. Editar as propriedades de rede;

2. Editar as propriedades do "Cliente para redes Microsoft";

3. Selecionar a opo "Efetuar logon no domnio do Windows NT";

4. Na opo "Domnio do Windows NT", digitar o nome do domnio;

5. Selecionar a opo de "Logon rpido" e pressionar OK;

6. Na opo "Logon primrio da rede", selecionar clientes para redes Microsoft, aplicar as alteraes e reiniciar o
computador.

Para alterar a senha do usurio logado:


1. Entrar no "Painel de Controle";
2. Entrar no cone "Senhas";
3. Clicar em "Alterar a senha do Windows";
4. Selecionar "Rede Microsoft" e pressionar OK;
5. Digitar a senha atual, digitar a nova senha e confirm-la;
6. Clicar no boto detalhes e selecionar a opo "Rede Microsoft";
7. Pressionar OK e fechar todas as janelas.

No servidor, rode o comando abaixo para cadastr-la no domnio:

# smbldap-useradd -w Maq01

ADICIONANDO MQUINAS WINDOWS XP/2000/2003 NO SAMBA

1. Logar como um usurio local e administrador do sistema;

2. Entrar no "Painel de Controle" em modo de exibio clssico, editar as propriedades do cone "Sistema";

3. Clicar na aba "Nome do Computador" e no boto "ID da Rede";

4. Na janela que ir aparecer, clicar em "Avanar";

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";

8. Digitar o nome do computador em questo, o domnio novamente e clicar em "Avanar";

9. Digitar "root" no nome do usurio e sua senha e o domnio do Samba.

10. Deixar selecionado a opo "Inserir o seguinte usurio" 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";

Dentro dessa janela as seguintes opes devem ser desabilitadas:


Membro do domnio: criptografar ou assinar digitalmente os dados do canal seguro (sempre).
Membro do domnio: desativar alteraes de senha de conta da mquina.
Membro do domnio: requerer uma chave de sesso de alta segurana (Windows 2000 ou posterior).

No registro, alterar/incluir a chave:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
netlogonparameters"RequireSignOrSeal"=dword:00000000

WINDOWS 2003/2000 SERVERS

1. Logar como um usurio local e administrador do sistema;

2. Entrar no "Painel de Controle", editar as propriedades do cone "Sistema";

3. Clicar na Aba "Identificao de rede" e no boto "Identificao da Rede";

4. Na janela que ir aparecer clicar em "Avanar";

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";

8. Digitar o nome do computador em questo e tambm o domnio novamente e clicar em "Avanar";

9. Digitar "root" no nome do usurio, sua senha e o domnio do Samba.

10. Deixar selecionada a opo "Inserir o seguinte usurio" 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.

No se esquea de adicionar as suas estaes no Samba:

# 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]

e assim por diante.

INTEGRANDO SEU SQUID AO LDAP

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:

# tar -zxpvf squid-2.5.STABLE8.tar.gz


# cd /root/ squid-2.5.STABLE8

Faremos a compilao bsica e depois compilaremos os programas de autenticao LDAP separadamente. Para tanto,
use a famosa seqncia:

# ./configure - -prefix=/usr/local/squid (sendo /usr/local/squid o local onde o squid ser instalado)


# make
# make install

Mude a propriedade do diretrio Squid de root para nobody e crie o cache:

# chown -R nobody.nobody /usr/local/squid


# squid -z

Depois mude a propriedade do diretrio /usr/local/squid/cache:

# chown -R nobody.nobody /usr/local/squid/cache

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

Aps a compilao, copie o daemon squid_ldap_auth para dentro da libexec:

# cp squid_ldap_auth /usr/local/squid/libexec

Acesse squid-2.5.STABLE8/helpers/external_acl/ldap_group e compile o daemon squid_ldap_group:

# cd /squid-2.5.STABLE8/helpers/external_acl/ldap_group:
# make

Aps a compilao, copie o squid_ldap_auth para dentro da libexec:

# cp squid_ldap_group /usr/local/squid/libexec

Agora adicione as seguintes linhas no seu squid.conf:

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 29/31
8/28/2017 Tutorial completo de implementao de LDAP + Samba + Squid [Artigo]

## Configuraes de autenticao do proxy <-> ldap (troque o IP pelo do seu domnio)

auth_param basic realm (Canal Linux (//www.vivaolinux.com.br/linux/)ajuda): Autenticao de Usurio para Internet

auth_param basic program /usr/local/squid/libexec/squid_ldap_auth -R -b


"ou=Usuarios,ou=People,dc=linuxajuda,dc=org" -f "uid=%s" -s one -h 10.0.0.101

auth_param basic children 3


auth_param basic casesensitive off
auth_param basic credentialsttl 15 minutes

Feito isso, reinicie todos os servios.

AGRADECIMENTOS E CONSIDERAES FINAIS

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.

Agradeo a pacincia e a compreenso de todos.

Crticas, elogios e sugestes sero de grande valia para a melhoria do tutorial.

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

Nome NicknameRede IRC Canais


Fernando Ribeiro Musb irc.freenode.org#nerdgroup
Flavio do Carmo Juniorblk1d irc.brasnet.org #linuxajuda
Kleber Araujo Access - -

Tutorial criado por Braulio Gomes - Postfix, Squid, Bind.

Usurio da rede brasnet e freenode de IRC, canais frequentados:


#linuxajuda - irc.brasnet.org
#openbsd - irc.brasnet.org
#freebsd - irc.brasnet.org
#nerdgroup - irc.freenode.org

Email: braulio[at]linuxajuda.org | postfix[at]brturbo.com

Espero ter ajudado, boa sorte!!!

"Seja Livre, use Linux""

Voltar (verArtigo.php?codigo=5178)

https://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 31/31

Você também pode gostar