tutorial completo de implementação de ldap + samba + squid [artigo]

27
Tutorial completo de implementação de LDAP + Samba + Squid Autor: Braulio Gomes Rodrigues <braulio at linuxajuda.org> Data: 26/07/2006 Considerações iniciais Este tutorial, criado por Braulio Gomes, aborda a criação de um servidor Samba baseado em banco de dados LDAP com suporte a autenticação de usuários, tanto pelo Samba quanto pelo Squid. Tutorial criado em: 30/06/2006 Plataforma: Slackware 10.2 Versão do Tutorial: TUTORIAL-LDAP-1.0 Licença: LDP ( Linux Documentation Project ) Reduzir custo gerencial é papel de todo bom administrador. Nada mais recomendável então, para se iniciar uma boa gestão de TI, do que manter centralizado o máximo possível de informações. Tecnologicamente falando, uma base centralizada de usuários (e permissões à estes usuários) deixou de ser simplesmente uma opção de implementação 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 organização de todas as informações da rede: trata-se do Active Directory, que é o serviço de diretório implementado pela Microsoft para servir como depósito concentrador de informações comuns (objetos). São exemplos de objetos do Active Directory: contas de usuários, grupos de usuários, impressoras de rede, políticas de controle, etc. O fato do sistema operacional Linux estar conquistando cada vez mais espaço dentro das corporações (atuando tanto como servidores quanto como estações de trabalho), incentivou a comunidade Open Source a integrá-lo às já existentes "redes Windows". É exatamente aí que entra o Samba, que faz a gerência de sistemas heterogêneos. É bem verdade que máquinas com Linux e executando Samba podem completamente substituir os controladores de domínio (PDC e BDCs), mas AINDA não podem por si só implementar o Active Directory (característica esta que certamente estará presente na versão 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 graças ao protocolo SMB. Neste documento será abordado em todos os detalhes necessários em como montar um Primary Domain Server (PDC) utilizando Samba + OpenLDAP. Este documento não aborda a explicação teórica, mas sim a parte prática de tudo isso. Minha intenção na elaboração dessa solução é a unificação da autenticação dos usuários da empresa, podendo assim os clientes acessarem todos os serviços disponibilizados utilizando apenas 1 (um) usuário e senha. Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178 1 of 27 24/04/2012 11:48

Upload: anderson-mendes

Post on 13-Aug-2015

461 views

Category:

Documents


3 download

TRANSCRIPT

Tutorial completo de implementação de LDAP + Samba + Squid

Autor: Braulio Gomes Rodrigues <braulio at linuxajuda.org>Data: 26/07/2006

Considerações iniciais

Este tutorial, criado por Braulio Gomes, aborda a criação de um servidor Samba baseado em banco dedados LDAP com suporte a autenticação de usuários, tanto pelo Samba quanto pelo Squid.

Tutorial criado em: 30/06/2006Plataforma: Slackware 10.2Versão do Tutorial: TUTORIAL-LDAP-1.0Licença: LDP ( Linux Documentation Project )

Reduzir custo gerencial é papel de todo bom administrador. Nada mais recomendável então, para seiniciar uma boa gestão de TI, do que manter centralizado o máximo possível de informações.Tecnologicamente falando, uma base centralizada de usuários (e permissões à estes usuários) deixou deser simplesmente uma opção de implementação e tornou-se uma real necessidade.

Isso se tornou bastante popular, os sistemas operacionais Microsoft Windows NT e Windows 2000 fazemuso de uma base de dados centralizada para manter a organização de todas as informações da rede:trata-se do Active Directory, que é o serviço de diretório implementado pela Microsoft para servir comodepósito concentrador de informações comuns (objetos). São exemplos de objetos do Active Directory:contas de usuários, grupos de usuários, impressoras de rede, políticas de controle, etc.

O fato do sistema operacional Linux estar conquistando cada vez mais espaço dentro das corporações(atuando tanto como servidores quanto como estações de trabalho), incentivou a comunidade OpenSource a integrá-lo às já existentes "redes Windows". É exatamente aí que entra o Samba, que faz agerência de sistemas heterogêneos.

É bem verdade que máquinas com Linux e executando Samba podem completamente substituir oscontroladores de domínio (PDC e BDCs), mas AINDA não podem por si só implementar o ActiveDirectory (característica esta que certamente estará presente na versão 4 do Samba). Sendo assim vemos anecessidade de colocar ambos sistemas operacionais para se comunicar em um ambiente de rede; econseguimos tal feito graças ao protocolo SMB.

Neste documento será abordado em todos os detalhes necessários em como montar um Primary DomainServer (PDC) utilizando Samba + OpenLDAP. Este documento não aborda a explicação teórica, mas sima parte prática de tudo isso.

Minha intenção na elaboração dessa solução é a unificação da autenticação dos usuários da empresa,podendo assim os clientes acessarem todos os serviços disponibilizados utilizando apenas 1 (um) usuárioe senha.

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

1 of 27 24/04/2012 11:48

Pacotes utilizados

A seguir os pacotes que foram necessários nesta instalação. Neste instante considerarei que todo osistema operacional esteja instalado e configurado, pois não abordaremos a instalação do Linux.

Sugiro que você crie um diretório 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.gzhttp://us5.samba.org/samba/ftp/stable/samba-3.0.20.tar.gz

smbldap-tools_0.9.2.orig.tar.gzhttp://ftp.ccc.uba.ar/download/.../smbldap-tools_0.9.2.orig.tar.gz

cyrus-sasl-2.1.22.tar.gzhttp://sunsite.rediris.es/pub/mirror/cyrus-mail/cyrus-sasl-2.1.22.tar.gz

openldap-2.3.24.tgzftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.3.24.tgz

nss_ldap-251.tgzhttp://www.padl.com/download/nss_ldap.tgz

MigrationTools-57.tgzhttp://www.padl.com/download/MigrationTools.tgz

Authen-SASL-2.10.tar.gzhttp://www.cpan.org/authors/.../Authen-SASL-2.10.tar.gz

Convert-ASN1-0.20.tar.gzhttp://search.cpan.org/CPAN/.../Convert-ASN1-0.18.tar.gz

Crypt-SmbHash-0.12.tar.gzftp://ftp.inria.fr/pub/CPAN/.../Crypt-SmbHash-0.12.tar.gz

Digest-SHA1-2.11.tar.gzhttp://search.cpan.org/CPAN/.../Digest-SHA1-2.11.tar.gz

IO-Socket-SSL-0.97.tar.gzhttp://mirrors.ibiblio.org/pub/.../IO-Socket-SSL-0.97.tar.gz

Jcode-2.05.tar.gzhttp://search.cpan.org/CPAN/.../Jcode-2.05.tar.gz

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

2 of 27 24/04/2012 11:48

Net_SSLeay.pm-1.25.tar.gzhttp://mirror.uta.edu/CPAN/.../Net_SSLeay.pm-1.25.tar.gz

URI-1.33.tar.gzhttp://www.volity.org/frivolity/perl/URI-1.33.tar.gz

Unicode-Map-0.112.tar.gzhttp://search.cpan.org/CPAN/.../Unicode-Map-0.112.tar.gz

Unicode-Map8-0.12.tar.gzhttp://search.cpan.org/CPAN/.../Unicode-Map8-0.12.tar.gz

Unicode-MapUTF8-1.11.tar.gzhttp://search.cpan.org/CPAN/.../Unicode-MapUTF8-1.11.tar.gz

Unicode-String-2.09.tar.gzhttp://search.cpan.org/CPAN/.../Unicode-String-2.09.tar.gz

XML-SAX-Base-1.04.tar.gzhttp://www.volity.org/frivolity/perl/XML-SAX-Base-1.04.tar.gz

perl-ldap-0.33.tar.gzhttp://search.cpan.org/CPAN/.../perl-ldap-0.33.tar.gz

httpd-2.0.58.tar.gzhttp://ftp.unicamp.br/pub/apache/httpd/httpd-2.0.58.tar.gz

php-5.1.4.tar.gzhttp://br2.php.net/get/php-5.1.4.tar.gz/from/us2.php.net/mirror

ldap-account-manager-1.0.2.tar.gzhttp://prdownloads.sourceforge.net/.../ldap-account-manager-1.0.2.tar.gz

Ambiente utilizado

Foi utilizado Slackware 10.2.0 com kernel 2.4.31, pois como já é um kernel default no Slackware,certamente está estável. O ambiente utilizado foi uma máquina virtual construída através do softwareVmware Workstation.

Foi utilizado o ldap-account-manager como front-end, pois eu o achei mais amigável em relação aosoutros front-ends utilizados, mas isso fica a critério do administrador.

Instalando O Cyrus-Sasl

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

3 of 27 24/04/2012 11:48

O Cyrus-Sasl é um pacote de autenticação 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 simbólico para que o LDAP consiga acessar o DB. Para issofaça o comando:

# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2

OBS: É necessário que seu sistema tenha o DB4 instalado.

Atualize a biblioteca do seu sistema rodando o comando:

# ldconfig

Instalando o OpenLDAP

O LDAP (Lightweight Directory Access Protocol) é um protocolo utilizado pelos servidores paraconcentrar informações em um repositório logicamente organizado. É graças a ele que informaçõescomuns podem ser inseridas, alteradas, excluídas e consultadas de uma espécie de "banco de dados deinformações". Ao se registrar um usuário no domínio, por exemplo, as informações referentes a esseusuário estarão armazenadas e disponíveis graças ao uso deste protocolo. Por sua vez, o OpenLDAP éuma implementação 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á necessário aqui. Vamos apenas descompactar oSamba:

# 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

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

4 of 27 24/04/2012 11:48

Lembrando que o "qmail.schema" foi incluído porque usarei esta mesma base para a autenticação noPostfix, que instalarei futuramente.

O nosso slapd.conf, que está no diretório /usr/local/etc/openldap/slapd.conf, deverá ficar da seguinteforma:

OBS: O rootpw deve ser gerado com slappasswd.

# slapd.conf

include /usr/local/etc/openldap/schema/core.schemainclude /usr/local/etc/openldap/schema/cosine.schemainclude /usr/local/etc/openldap/schema/inetorgperson.schemainclude /usr/local/etc/openldap/schema/nis.schemainclude /usr/local/etc/openldap/schema/samba.schemainclude /usr/local/etc/openldap/schema/qmail.schema

pidfile /usr/local/var/run/slapd.pidargsfile /usr/local/var/run/slapd.args

database bdbsuffix "dc=linuxajuda,dc=org"rootdn "cn=administrador,dc=linuxajuda,dc=org"rootpw {SSHA}KwwbIdAjWcAOlxLjgq0O4iRnl7C05NhZdirectory /usr/local/var/openldap-data

password-hash {CRYPT}password-crypt-salt-format "$1$.8s"

index objectClass,uidNumber,gidNumber eqindex cn,sn,uid,displayName pres,sub,eqindex memberUid,mail,mailAlternateAddress,givenname,accountStatus,mailHost,deliveryMode eqindex sambaSID,sambaPrimaryGroupSID,sambaDomainName eqindex 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 seguinteconteúdo:

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

5 of 27 24/04/2012 11:48

dn: dc=linuxajuda,dc=orgdc: linuxajudaobjectClass: topobjectClass: domain

dn: ou=Usuarios,dc=linuxajuda,dc=orgou: UsuariosobjectClass: topobjectClass: organizationalUnit

dn: ou=Grupos,dc=linuxajuda,dc=orgou: GruposobjectClass: topobjectClass: organizationalUnit

dn: ou=Computadores,dc=linuxajuda,dc=orgou: ComputadoresobjectClass: topobjectClass: 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.ldifEnter 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 usuários

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:

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

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

6 of 27 24/04/2012 11:48

Salve e execute o seguinte comando para gerar o arquivo "grupos.ldif", que conterá todos os grupos dosistema:

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

Com isso ele irá gerar o arquivo /root/grupos.ldif com as entradas necessárias 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. Não podemos esquecer de adicionar tambémos usuários:

# ./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 configurações de contas:

# tar zxvf nss_ldap.tgz# cd nss_ldap-251# ./configure# make# make install

É necessário modificar o arquivo /etc/ldap.conf:

host 127.0.0.1base dc=linuxajuda,dc=orgrootbinddn cn=administrador,dc=linuxajuda,dc=org

Vamos agora modificar as linhas do /etc/nsswitch.conf, esse arquivo é onde o sistema busca asinformações de login.

Altere as seguintes linhas para que fique assim:

passwd: files ldapshadow: files ldapgroup: files ldap

passwd: compat ldapgroup: compat ldap

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

7 of 27 24/04/2012 11:48

Agora vamos testar o LDAP:

# id rootuid=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/debugJun 29 17:17:03 tropical slapd[2526]: conn=11 op=1 SRCH base="dc=tropical,dc=local" scope=2deref=0 filter="(&(objectClass=posixGroup))"Jun 29 17:17:03 tropical slapd[2526]: conn=11 op=1 SRCH attr=cn userPassword memberUidgidNumberJun 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=2deref=0 filter="(&(objectClass=posixGroup))"Jun 29 17:17:03 tropical slapd[2527]: conn=11 op=2 SRCH attr=cn userPassword memberUidgidNumberJun 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=2deref=0 filter="(&(objectClass=posixGroup)(gidNumber=512))"Jun 29 17:17:03 tropical slapd[2528]: conn=11 op=3 SRCH attr=cn userPassword memberUidgidNumberJun 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

Vamos agora à parte que devemos ter mais atenção, que é a do Samba.

Como já tínhamos descompactado anteriormente, vamos entrar no diretório 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 opções, --with-krb5=/usr e --enable-krb5developer, use somente se você tiver okerberos instalado, caso contrário não precisa.

# make# make install

Vamos agora ao smb.conf, depois de uns três dias ralando em cima do Samba, pude realmente chegar a

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

8 of 27 24/04/2012 11:48

configuração ideal para ele implementado ao LDAP. Segue o smb.conf:

[global]workgroup = LINUXAJUDAnetbios name = PDC-SRVserver string = Slackwaresecurity = userencrypt passwords = yesguest account = nobodylog file = /var/log/samba/%m.logmax log size = 50os level = 100local master = yesdomain master = yespreferred master = yesdomain logons = yesadmin users = administrador rootlogon script = %U.batlogon path = %Lprofiles%Uhosts allow = 10.0.0. 127.wins support = nodns proxy = noldap passwd sync = yesldap delete dn = Yespassdb backend = ldapsam:ldap://127.0.0.1/ldap admin dn = cn=administrador,dc=linuxajuda,dc=orgldap suffix = dc=linuxajuda,dc=orgldap group suffix = ou=Gruposldap user suffix = ou=Usuariosldap machine suffix = ou=Computadoresldap idmap suffix = ou=Idmapidmap backend = ldap:ldap://127.0.0.1idmap uid = 10000-15000idmap gid = 10000-15000template shell = /bin/falsewinbind use default domain = no;smb passwd file=/etc/samba/smbpasswdpasswd program=/usr/bin/passwd %upasswd 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=8192add 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"

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

9 of 27 24/04/2012 11:48

dos charset = UTF-8unix charset = UTF-8

[homes]

comment = Diretório 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 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]

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

10 of 27 24/04/2012 11:48

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

#!/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 -Dfi}

samba_stop() { killall smbd nmbd}

samba_restart() { samba_stop sleep 2 samba_start}

case "$1" in'start') samba_start ;;'stop')

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

11 of 27 24/04/2012 11:48

samba_stop ;;'restart') samba_restart ;;*) # Default is "start", for backwards compatibility with previous # Slackware versions. This may change to a 'usage' error someday. samba_startesac

Crie o diretório /var/log/samba e rode o script /etc/rc.d/rc.samba:

# /etc/rc.d/rc.samba start

Smbldap-tools

Pronto, o Samba está no ar, agora vamos configurar o smbldap-tools, que é uma ferramenta deadministração do LDAP.

Eu particularmente prefiro usar um front-end, pois pode acontecer de dar alguns erros com ela, mas nãodeixa de ser uma boa ferramenta para administração.

# 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 configuração do smbladp-tools, que fica dentro do diretório que você acaboude criar. Lembrando que: o SID é obtido com o seguinte comando:

# net getlocalsid linuxajuda

# 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=""

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

12 of 27 24/04/2012 11:48

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"

E se notar, após isso ele automaticamente cria uma entrada no LDAP:

# ldapsearch -xdn: sambaDomainName=linuxajuda,dc=linuxajuda,dc=orgsambaDomainName: linuxajudasambaSID: S-1-5-21-4172198711-3320573932-1449352776sambaAlgorithmicRidBase: 1000objectClass: sambaDomainsambaNextUserRid: 31000sambaNextGroupRid: 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"

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

13 of 27 24/04/2012 11:48

masterPw="senha"

Após isso é necessário copiar o arquivo smbldap_tools.pm para o diretório /usr/lib/perl5/5.8.7/i486-linux/:

# cp smbldap_tools.pm /usr/lib/perl5/5.8.7/i486-linux/

Pacotes Perl

Agora vamos instalar os pacotes de módulos para o Perl. Descompacte um por um e use logo abaixo oscomandos para instalação:

# tar -zxvf (em cada arquivo desse)

Convert-ASN1-0.20.tar.gzAuthen-SASL-2.10.tar.gzCrypt-SmbHash-0.12.tar.gzDigest-SHA1-2.11.tar.gzIO-Socket-SSL-0.97.tar.gzJcode-2.05.tar.gzNet_SSLeay.pm-1.25.tar.gzURI-1.33.tar.gzUnicode-Map-0.112.tar.gz Unicode-Map8-0.12.tar.gzUnicode-String-2.09.tar.gzXML-SAX-Base-1.04.tar.gzperl-ldap-0.33.tar.gz

Entre no diretório de cada um e execute:

# perl Makefile.PL# make# make test# make install

Nextuid

Pronto, agora precisamos informar qual será o próximo uid disponível para ele criar os usuários. Paraisso, inserimos a seguinte entrada no LDAP.

Salve as seguintes informações em um arquivo chamado "nextuid.ldif":

dn: cn=NextFreeUnixId,dc=linuxajuda,dc=orgobjectClass: inetOrgPersonobjectClass: sambaUnixIdPooluidNumber: 1000gidNumber: 1000

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

14 of 27 24/04/2012 11:48

cn: NextFreeUnixIdsn: 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

Apache2 + PHP5

Pronto, nosso LDAP + Samba já está praticamente funcionando, bastando apenas administrá-lo. É agoraque 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 estável:

# 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á não incluiu essa linha no seu confLoadModule php5_module modules/libphp5.so

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

Feito isso vamos iniciar o Apache:

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

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

15 of 27 24/04/2012 11:48

LAM - Ldap Account Manager

Depois de muito estudar sobre um bom front-end que pudesse me dar todas as ferramentas para uma boaadministração do LDAP, acabei encontrando o LAM, mas existem várias outras ferramentas, como oPhpLdapAdmin por exemplo.

Agora vamos instalar o Ldap Account Manager. Primeiro crie o usuário 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 diretório:

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

Agora vamos configurá-lo. Entre no diretório /usr/local/apache2/htdocs/lam/config e copie os arquivosconfig.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 profilespassword: system

# default profile, without ".conf"default: lam

E o lam.config:

# LDAP Account Manager configuration

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

16 of 27 24/04/2012 11:48

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

# 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=orgadmins: cn=administrador,dc=tropical,dc=local

# password to change these preferences via webfrontendpasswd: system

# suffix of tree view# e.g. dc=yourdomain,dc=orgtreesuffix: dc=tropical,dc=localusersuffix: ou=Usuarios,dc=tropical,dc=localgroupsuffix: ou=Grupos,dc=tropical,dc=localhostsuffix: ou=Computadores,dc=tropical,dc=localdomainsuffix: ou=Dominios,dc=tropical,dc=local

# maximum number of rows to show in user/group/host listsmaxlistentries: 30

# default language (a line from config/language)defaultLanguage: en_GB.utf8:UTF-8:English (Great Britain)

# Path to external ScriptscriptPath:

# Server of external ScriptscriptServer:

# Number of minutes LAM caches LDAP searches.cachetimeout: 5

samba3: yes

# Module settings

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

# List of active account types.activeTypes: user,group,host,smbDomain

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

17 of 27 24/04/2012 11:48

types: suffix_user: ou=Usuarios,dc=tropical,dc=localtypes: attr_user: #uid;#givenName;#sn;#uidNumber;#gidNumbertypes: modules_user: inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount

types: suffix_group: ou=Grupos,dc=tropical,dc=localtypes: attr_group: #cn;#gidNumber;#memberUID;#descriptiontypes: modules_group: posixGroup,sambaGroupMapping

types: suffix_host: ou=Computadores,dc=tropical,dc=localtypes: attr_host: #cn;#description;#uidNumber;#gidNumbertypes: modules_host: account,posixAccount,sambaSamAccount

types: suffix_smbDomain: ou=Dominios,dc=tropical,dc=localtypes: attr_smbDomain: sambaDomainName:Domain name;sambaSID:Domain SIDtypes: modules_smbDomain: sambaDomain

Implementando SSL ao seu LDAP Server

Todo administrador sempre deve estar preocupado com a segurança de seus servidores, por isso aqui estauma boa solução para acrescentar ao seu LDAP Server. A seguir vamos aplicar as configurações aoLDAP usando os utilitários do OpenSSL para gerar as chaves auto-assinadas para ele.

Gerando as chaves criptografadas

Note que as chaves deverão ser geradas dentro do diretório /usr/local/etc/openldap/certificates/.

Foi desabilitada a verificação do certificado (se há alguma entidade certificadora que garante que você évocê mesmo). Estamos apenas interessados em usar um túnel criptografado.

Primeiramente vamos criar um diretório dentro do /usr/local/etc/openldap chamado certificates e depoisum 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 função "server"echo "É necessário prover uma senha para a chave privada."openssl genrsa -des3 -out server.key 4096# Esta linha agora REMOVE a passphrase da chave privadaecho "Digite primeiro a senha da chave privada, depois um para remova-la"openssl rsa -in server.key -out server.keyopenssl req -new -key server.key -out server.csropenssl x509 -req -days 365 -in server.csr -signkey server.key -out server.csr

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

18 of 27 24/04/2012 11:48

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

Use o comando a baixo para rodar o script:

# sh gerador.sh

Ele fará algumas perguntas (veja abaixo) como requisição se senhas, escolha uma senha de maneira quevocê não vá esquecê-la, eu usei a mesma do admin.

É necessário 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 keyYou are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:BRState or Province Name (full name) [Some-State]:GoiasLocality Name (eg, city) []:GoianiaOrganization Name (eg, company) [Internet Widgits Pty Ltd]:Canal LinuxajudaOrganizational Unit Name (eg, section) []:Common Name (eg, YOUR name) []:administradorEmail Address []:[email protected]

Please enter the following 'extra' attributesto be sent with your certificate requestchallenge password []:systemAn optional company name []:Signature oksubject=/C=BR/ST=Goias/L=Goiania/O=Canal Linuxajuda/CN=administrador/[email protected] Private keyGerando a chave para o client. Mesmo procedimento anterior

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

19 of 27 24/04/2012 11:48

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 keyYou are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:BRState or Province Name (full name) [Some-State]:GoiasLocality Name (eg, city) []:GoianiaOrganization Name (eg, company) [Internet Widgits Pty Ltd]:Canal LinuxajudaOrganizational Unit Name (eg, section) []:Common Name (eg, YOUR name) []:administradorEmail Address []:[email protected]

Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:systemAn optional company name []:Signature oksubject=/C=BR/ST=Goias/L=Goiania/O=Canal Linuxajuda/CN=administrador/[email protected] Private key

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

O LDAP e seus arquivos de configurações

São necessários 2 pequenas configurações no OpenLDAP para que ele aceite o certificado criado.

Em /etc/openldap/slapd.conf:

TLSCertificateFile /etc/openldap/certificates/server.csrTLSCertificateKeyFile /etc/openldap/certificates/server.keyTLSVerifyClient 0

Após isso modifique o arquivo /etc/ldap.conf para:

host ldap.linuxajuda.orgbase dc=linuxajuda,dc=orguri ldaps://ldap.linuxajuda.orgrootbinddn cn=administrador,dc=linuxajuda,dc=org

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

20 of 27 24/04/2012 11:48

port 636ssl trueTLS_CERT /etc/openldap/certificates/client.csrTLS_KEY /etc/openldap/certificates/client.keyTLS_REQCERT never

Altere a linha no smb.conf de:

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

para:

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

Vamos alterar também 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 estavareclamando 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 também o /etc/hosts:

10.0.0.101 ldap.linuxajuda.org

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

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

21 of 27 24/04/2012 11:48

Primeiro armazenamos a senha do usuário suporte com:

# saslpasswd2 -c administrador

Podemos listar os usuários com:

# sasldblistusers2administrador@linuxajuda: cmusaslsecretOTPadministrador@linuxajuda: userPassword

Seu sistema ficou lento na inicialização?

Depois que instalei o LDAP e alterei o nsswitch.conf, percebi que o sistema operacional tinha ficado lentotanto pra iniciar quanto pra fazer login e digitar alguns comandos, foi então que quase sem quererencontrei a solução para o meu problema. Creio que você possa ter o mesmo problema que eu, masvamos lá a solução:

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 próximas duas linhas:

chown root.utmp /var/run/utmpchmod 664 /var/run/utmp

Pronto, seu sistema está rápido de novo!

Adicionando as máquinas Windows 98 no Samba

1. Editar as propriedades de rede;

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

3. Selecionar a opção "Efetuar logon no domínio do Windows NT";

4. Na opção "Domínio do Windows NT", digitar o nome do domínio;

5. Selecionar a opção de "Logon rápido" e pressionar OK;

6. Na opção "Logon primário da rede", selecionar clientes para redes Microsoft, aplicar as alterações ereiniciar o computador.

Para alterar a senha do usuário logado:

Entrar no "Painel de Controle";1.

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

22 of 27 24/04/2012 11:48

Entrar no ícone "Senhas";2.Clicar em "Alterar a senha do Windows";3.Selecionar "Rede Microsoft" e pressionar OK;4.Digitar a senha atual, digitar a nova senha e confirmá-la;5.Clicar no botão detalhes e selecionar a opção "Rede Microsoft";6.Pressionar OK e fechar todas as janelas.7.

No servidor, rode o comando abaixo para cadastrá-la no domínio:

# smbldap-useradd -w Maq01

Adicionando máquinas Windows XP/2000/2003 no Samba

1. Logar como um usuário local e administrador do sistema;

2. Entrar no "Painel de Controle" em modo de exibição clássico, editar as propriedades do ícone"Sistema";

3. Clicar na aba "Nome do Computador" e no botão "ID da Rede";

4. Na janela que irá aparecer, clicar em "Avançar";

5. Selecionar a opção "Este computador faz parte de uma rede corporativa..." e clicar em "Avançar";

6. Selecionar a opção "Minha empresa usa uma rede com um domínio", clicar em "Avançar" e clicar em"Avançar" novamente;

7. Digitar no "nome do usuário" um usuário que já exista no Samba, sua senha e o domínio e clicar em"Avançar";

8. Digitar o nome do computador em questão, o domínio novamente e clicar em "Avançar";

9. Digitar "root" no nome do usuário e sua senha e o domínio do Samba.

10. Deixar selecionado a opção "Inserir o seguinte usuário" e clicar em "Avançar";

11. Selecionar o nível de acesso "Outros", selecionar o grupo "Administradores" e clicar e "Avançar" e"Concluir", mas NÃO reiniciar o computador;

12. Entrar no "Painel de Controle" em modo de exibição clássico e entrar em "FerramentasAdministrativas";

13. Entrar em "Diretiva de Segurança local" e depois abrir a chave "Diretivas locais" e clicar em "Opçõesde Segurança";

Dentro dessa janela as seguintes opções devem ser desabilitadas:

Membro do domínio: criptografar ou assinar digitalmente os dados do canal seguro (sempre).

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

23 of 27 24/04/2012 11:48

Membro do domínio: desativar alterações de senha de conta da máquina.Membro do domínio: requerer uma chave de sessão de alta segurança (Windows 2000 ouposterior).

No registro, alterar/incluir a chave:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesnetlogonparameters"RequireSignOrSeal"=dword:00000000

Windows 2003/2000 Servers

1. Logar como um usuário local e administrador do sistema;

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

3. Clicar na Aba "Identificação de rede" e no botão "Identificação da Rede";

4. Na janela que irá aparecer clicar em "Avançar";

5. Selecionar a opção "Este computador faz parte de uma rede corporativa..." e clicar em "Avançar";

6. Selecionar a opção "Minha empresa usa uma rede com um domínio" e clicar em "Avançar" e clicar em"Avançar" novamente;

7. Digitar no "nome do usuário" um usuário que já exista no Samba devidamente configurado, sua senha,domínio e clicar em "Avançar";

8. Digitar o nome do computador em questão e também o domínio novamente e clicar em "Avançar";

9. Digitar "root" no nome do usuário, sua senha e o domínio do Samba.

10. Deixar selecionada a opção "Inserir o seguinte usuário" e clicar em "Avançar";

11. Selecionar o nível de acesso "Outros" e selecionar o grupo "Administradores" e clicar e "Avançar" e"Concluir", e reiniciar o computador.

Não se esqueça de adicionar as suas estações no Samba:

# smbladp-useradd -w maq02

e assim por diante.

Integrando seu Squid ao LDAP

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

24 of 27 24/04/2012 11:48

Bom, agora que já temos nosso servidor Samba com Active Directory usando o LDAP, pensei porque nãocolocar os usuários de internet para autenticar no LDAP para acessar a internet, lembrando que não vouabordar uma configuração mais afundo do Squid, para isso você deverá buscar em outras faqs oumanuais. 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 compilação básica e depois compilaremos os programas de autenticação LDAPseparadamente. Para tanto, use a famosa seqüência:

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

Mude a propriedade do diretório Squid de root para nobody e crie o cache:

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

Depois mude a propriedade do diretório /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 autenticação de usuários no AD:

# cd /squid-2.5.STABLE8/helpers /basic_auth/LDAP# make

Após a compilação, 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

Após a compilação, 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:

## Configurações de autenticação do proxy <-> ldap (troque o IP pelo do seu domínio)

auth_param basic realm (Canal Linuxajuda): Autenticação de Usuário para Internet

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

25 of 27 24/04/2012 11:48

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 3auth_param basic casesensitive offauth_param basic credentialsttl 15 minutes

Feito isso, reinicie todos os serviços.

Agradecimentos e considerações finais

Bom galera, depois de quase 2 meses trabalhando em cima deste HOWTO, finalmente consegui chegarao seu final e o melhor de tudo, com o LDAP funcionando perfeitamente. Em breve adicionarei o Postfixao LDAP também.

Agradeço a paciência e a compreensão de todos.

Críticas, elogios e sugestões serão 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 indiretaneste pequeno trabalho e que puderam fazer deste tutorial uma realidade, onde poucas pessoasconseguiam obter sucesso através de outros tutoriais distribuídos pela internet devido a falta dedocumentação para essa maravilhosa distribuição chamada Slackware.

Agradecimentos especiais

Nome Nickname Rede IRC CanaisFernando Ribeiro Musb irc.freenode.org #nerdgroupFlavio do Carmo Junior blk1d irc.brasnet.org #linuxajudaKleber Araujo Access - -

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

Usuário 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

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

26 of 27 24/04/2012 11:48

Espero ter ajudado, boa sorte!!!

"Seja Livre, use Linux""

http://www.vivaolinux.com.br/artigo/Tutorial-completo-de-implementacao-de-LDAP-+-Samba-+-Squid

Voltar para o site

Tutorial completo de implementação de LDAP + Samba + Squid [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5178

27 of 27 24/04/2012 11:48