Você está na página 1de 8

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Instalando o Samba + LDAP no Debian


Autor: Joo Cludio de Oliveira Gonalves <joao.claudio25 at globo.com> Data: 03/12/2006 Instalando o DB4 no Debian Pelo o que entendi, o DB4 um banco de dados que o LDAP faz uso para escrever suas informaes. O mesmo deve ser instalado primeiramente para que no tenhamos maiores problemas durante a configurao do LDAP. Para instalar o DB4 no Debian devemos utilizar o apt-get, que facilita nossa instalao. So trs pacotes referentes ao db4 que devem ser instalados. O comando para a instalao : # apt-get install libdb4.2 libdb4.2-dev db4.2-util No instale a verso 4.3 s por que mais nova, pois o ldap no o ir reconhecer e voc ter problemas. Agora podemos comear com o LDAP.

Instalando e configurando o LDAP


Para instalar o ldap use o comando: # apt-get install slapd Um assistente aparecer e lhe far algumas perguntas que devem ser respondidas da seguinte forma: Aqui voc define o seu DNS: DNS domain name: meudominio.com.br Aqui o nome da organizao, eu utilizei o mesmo nome de DNS: Name of organization: meudominio.com.br

Aqui voc define a sua senha: Admin password: password Confirm password: password Aqui a verso do LDAP: Allow LDAP v2: yes

1 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Utilizei a verso 2 por questes de compatibilidades com o Apache 1.3, que acho mais estvel que o 2.0.

Instalando o phpldapadmin Essa ferramenta visa facilitar a vida do administrador de rede, que poder manipular todo o ldap via navegador. Alm disso vai nos facilitar durante o artigo na criao e manipulao das contas necessrias a integrao com o Samba. Antes de instalar o phpldapadmin instale o pacote php4-ldap: # apt-get install php4-ldap Esse pacote vai gerar o arquivo pam_ldap.conf , necessrio ao phpldapadmin. Agora vamos instalar o pacote do apache com ssl para uma conexo segura atravs do navegador. Para isso execute o seguinte comando: # apt-get install apache-ssl Novamente aparecer um assistente, onde segui um exemplo de respostas as mesmas logo abaixo: Enable SuExec: no Country Name: BR State: RJ Locality: Rio de Janeiro Organization Name: meudominio.com.br Organizational Unit Name: MEUDOMINIO Host Name: debian.meudominio.com.br //Aqui entra o o nome do seu servidor com o FQDN Contact Email: root@meudominio.com.br Depois instale o phpldapadmin propriamente dito. # apt-get install phpldapadmin E responda ao assistente da seguinte maneira: Authentication type: session Configure webserver: apache-ssl Restart: yes O phpadmin requer um utilitrio chamado mkntpwd para criar as senhas do samba. O mesmo deve ser baixado pelo seguinte link: http://www.nomis52.net/data/mkntpwd.tar.gz Depois de baixado, tenha certeza de que os pacotes gcc, make e libc-dev esto instalados, seno instale-os com o seguinte comando: # apt-get install gcc make libc-dev Depois disso instale o mkntpwd atravs dos seguintes comandos: # tar -zxf mkntpwd.tar.gz # cd mkntpwd

2 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

# make # cp mkntpwd /usr/local/bin Verifique se o mesmo est rodando atravs do comando mkntpwd. A seguinte mensagem deve aparecer:
Usage: mkntpwd [-L lanmgrpwd] [-N ntpasswd] mkntpwd password mkntpwd -f [-] [filename] -L lanmgrpasswd -N ntpasswd LanManager cleartextpwd <= 14 chars NT cleartextpwd <=128 chars (usually <=14)

with both options present the encrypted LanManager-Pwd is printed first, followed by a ':' and the encrypted NT-Pwd. The second usage behaves like mkntpwd -L pwd -N pwd The third usage reads the password from STDIN or a File. Printout is the same as second. anton@genua.de

Instalando o Samba Para instalar o samba execute o seguinte comando: # apt-get install samba samba-doc O samba-doc importante, pois nele copiaremos alguns arquivos para a configurao integrada com o LDAP. Responda o assistente com as seguintes respostas: Domain Name: meudominio.com.br Use Password Encryption: Yes Modify smb.conf to use WINS settings via DHCP: No How to run Samba: daemons Create password database: Yes

Populando o LDAP O slapd necessita do Samba schema para funcionar. Para isso devemos copiar o schema do samba em sua documentao para o schema do sladp. Copie o arquivo atravs dos comandos: # cd /usr/share/doc/samba-doc/examples/LDAP # gunzip samba.schema.gz # cp samba.schema /etc/ldap/schema/ Agora adicione ao arquivo /etc/ldap/slapd.conf a seguinte linha: include /etc/ldap/schema/samba.schema Adicione logo aps os outros includes. Reinicie o slapd:

3 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

# /etc/init.d/slapd restart Precisamos criar container no LDAP para os usurios, grupos e machines. Para fazer isso usaremos o phpldapadmin. Em nosso exemplo o mesmo pode ser acessado atravs de qualquer navegador padro atravs do seguinte endereo: https://debian.meudominio.com.br/phpldapadmin/ Entre com a senha configurada no ldap. Abre a rvore do seu domnio e clique em "Create New Entry Here". Selecione: "Organizational Unit" (ou) e clique em Next. Nomeie como "users" e repita o processo para machine (computadores) e groups (para grupos).

Configurando o Samba Abra o arquivo /etc/samba/smb.conf . Encontre a linha que contm o seguinte contedo: passdb backend = tdbsam guest Substitua por: passdb backend = ldapsam:ldap://127.0.0.1 ldap suffix = dc=meudominio,dc=com,dc=br ldap machine suffix = ou=machines ldap user suffix = ou=users ldap group suffix = ou=groups ldap admin dn = cn=admin,dc=meudominio,dc=com,dc=br ldap delete dn = no domain logons = yes enable privileges = yes Execute o testparm para ter certeza de que o Samba no possui erros. Agora adicione uma senha ao Samba, ela deve ser a mesma do servidor LDAP: # smbpasswd -w password Reinicie o samba: # /etc/init.d/samba restart No phpldapadmin deve aparecer o domnio samba atravs da entrada: sambaDomainName=NOMIS52 Nela voc vai encontrar o SID do domnio, copie-o e guarde-o, pois vamos precisar desse identificador para configurar o phpldapadmin.

4 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Configurando o phpldapadmin Edite o arquivo /usr/share/phpldapadmin/templates/template_config.php substituindo o contedo:


$samba3_domains[] = array( 'name' => 'My Samba domain Name', 'sid' => 'S-1-5-21-4147564533-719371898-3834029857' );

Por:
$samba3_domains[] = array( 'name' => 'meudominio', 'sid' => 'S-1-5-21-2811823277-2536369736-933372433' );

Lembre que essa identificao aquela que copiamos na pgina anterior.

Adicionando os grupos para uso do domnio Windows Usando o phpladpadmin, adicione trs objetos de nome Samba 3 Group Mappings dentro da OU groups criada na Populando o LDAP; Unix name: admins Samba Name: Domain Admins GID: 2000 //voc define o gid de sua preferncia, eu comecei em 2000 Samba Sid: Domain Admins Unix name: users Samba Name: Domain Users GID: 2001 //voc define o gid de sua preferncia, eu comecei em 2000 Samba Sid: Domain Users Unix name: users Samba Name: Domain Guests GID: 2002 //voc define o gid de sua preferncia, eu comecei em 2000 Samba Sid: Domain Guests Agora vamos configurar essas contas para aparecem no Linux Instale o seguinte pacote: # apt-get install libnss-ldap Responda ao assistente como: LDAP Server Host: 127.0.0.1 DN of Search Base: dc=meudominio,dc=com,dc=br LDAP Version: 3 Database requires login: no Make config readable by owner only: yes Edite o arquivo /etc/nsswitch.conf adicionando o comando ldap aps os arquivos de senhas: passwd: compat ldap group: compat ldap shadow: compat ldap

5 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Execute o getent para confirmar se os grupos foram criados: # getent group users:x:2000: guests:x:2001: admins:x:2002:

Adicionando segurana a soluo Vamos agora fazer algumas configuraes que vo nos garantir um mnimo de segurana a nossa soluo. Instale o libpam-ldap: # apt-get install libpam-ldap E responda o assistente com as seguintes respostas: Make local root db admin: yes Database requires logging in: no Root login account: cn=admin,dc=meudominio,dc=com,dc=br Root password: password Crypt: MD5 //Voc pode utilizar outro tipo de criptografia, s modificar a opo abaixo como a que voc escolheu aqui Adicione a linha abaixo ao arquivo /etc/pam-ldap.conf : pam_filter !(uidNumber=0) No arquivo /etc/pam.d/common-account substitua a linha: account Por:
account account sufficient required pam_ldap.so pam_unix.so try_first_pass

required

pam_unix.so

No arquivo /etc/pam.d/common-password substitua a linha: password required pam_unix.so nullok obscure min=4 max=8 md5 Por: #ATENO A OPO DE CRIPTOGRAFIA ESCOLHIDA password sufficient pam_ldap.so password required pam_unix.so nullok obscure min=4 max=8 md5 use_first_pass No arquivo /etc/pam.d/common-auth substitua: auth required Por:
auth auth sufficient required pam_ldap.so pam_unix.so nullok_secure use_first_pass

pam_unix.so nullok_secure

6 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Reinicie o Samba: # /etc/init.d/samba restart Para melhorar a performance do servio LDAP devemos instalar o ncsd atravs do comando: # apt-get install nscd Esse daemon um servio de cache para o ldap.

Testando a soluo Para testarmos a soluo vamos criar dois objetos, um usurio e um computador e verificar se os mesmos foram realmente criados. Vamos criar o usurio "Administrador" que ser o admin do domnio ldap+samba e um usurio comum Crie dois novos objetos Samba 3 User(s) na OU users atravs do phpldapadmin, abaixo um exemplo de caractersticas de preenchimento obrigatrias. Uid: 0 //O administrador deve ter um uid 0 First Name: Admin User Name: Administrador Senha: password Encryption: MD5 (Ateno se voc escolheu outro tipo de criptografia na pgina anterior) Windows Group: Domain Admins Uid: 1000 First Name: Joo User Name: jclaudio Senha: password Encryption: MD5 (Ateno se voc escolheu outro tipo de criptografia na pgina anterior) Windows Group: Domain Admins // importante esse usurio participar do Domains Admins para que ele possa ter permisso de colocar uma mquina Windows no domnio ldap+samba Home Directory: /home/jclaudio Verifique se os usurios foram inseridos atravs do comando: # getent passwd Verifique se o phpldapadmin criou o diretrio home do usurio, caso no tenha criado voc ter de faz-lo manualmente. Exemplo: # mkdir /home/jclaudio # cp /etc/skel/.* /home/jclaudio/ # chown -R jclaudio:users /home/jclaudio/ Testando: V ao tty2 e tente logar com o usurio criado. Adicionando uma mquina ao domnio: Crie um objeto Samba 3 NT Machine na ou=machines. Exemplo de caractersticas:

7 de 8

07/06/2013 17:10

Instalando o Samba + LDAP no Debian [Artigo]

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Machine Name: Windows01 UID Number: 3001

Dicas Bem galera, acho que isso. Com essa soluo simples voc j pode ter total acesso a administrao do seu domnio LDAP+SAMBA. Ainda existem aqui mesmo no VOL vrios artigos que recomendo e que podemos incrementar as configuraes bsicas desse artigo, Abaixo alguns exemplos: Servidor Samba completo Nesse artigo existem opes interessantes como RAID5 e algumas configuraes muito legais para o Samba. Gateway com autenticao pelo Samba Esse artigo parece ser muito legal, ainda vou test-lo, mas a idia muito boa, um Gateway com autenticao pelo Samba. Acesso aos recursos compartilhados de sua rede Microsoft ou Samba via HTTP Servidor Samba com autenticao no Windows XP e troca de senha automtica Scripts no SAMBA Configurao para permitir executar Scripts no SAMBA. Samba - PDC com Debian e Clamwin antivrus sincronizado nas estaes isso galera, VIVA O LINUX!!!

http://www.vivaolinux.com.br/artigo/Instalando-o-Samba-+-LDAP-no-Debian Voltar para o site

8 de 8

07/06/2013 17:10

Você também pode gostar