Você está na página 1de 8

Instalando o Samba + LDAP no Debian [Artigo]

Instalando o Samba + LDAP no Debian [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

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

Instalando o Samba + LDAP no Debian [Artigo] http://www.vivaolinux.com.br/artigos/impressora.php?codigo=5794

Instalando o Samba + LDAP no Debian

Autor: João Cláudio de Oliveira Gonçalves <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 informações. O mesmo deve ser instalado primeiramente para que não tenhamos maiores problemas durante a configuração do LDAP.

Para instalar o DB4 no Debian devemos utilizar o apt-get, que facilita nossa instalação. São três pacotes referentes ao db4 que devem ser instalados. O comando para a instalação é:

# apt-get install libdb4.2 libdb4.2-dev db4.2-util

Não instale a versão 4.3 só por que é mais nova, pois o ldap não o irá reconhecer e você terá problemas.

Agora podemos começar 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 organização, 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 versão do LDAP:

Allow LDAP v2: yes

Instalando o Samba + LDAP no Debian [Artigo]

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

Utilizei a versão 2 por questões de compatibilidades com o Apache 1.3, que acho mais estável 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. Além disso vai nos facilitar durante o artigo na criação e manipulação das contas necessárias a integração 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, necessário ao phpldapadmin.

Agora vamos instalar o pacote do apache com ssl para uma conexão segura através 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 utilitário 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 estão instalados, senão instale-os com

o seguinte comando:

# apt-get install gcc make libc-dev

Depois disso instale o mkntpwd através dos seguintes comandos:

# tar -zxf mkntpwd.tar.gz

# cd mkntpwd

Instalando o Samba + LDAP no Debian [Artigo]

# make

# cp mkntpwd /usr/local/bin

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

Verifique se o mesmo está rodando através do comando mkntpwd. A seguinte mensagem deve aparecer:

Usage: mkntpwd [-L lanmgrpwd] [-N ntpasswd] mkntpwd password mkntpwd -f [-] [filename]

-L lanmgrpasswd LanManager cleartextpwd <= 14 chars

-N ntpasswd

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 configuração 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 documentação para o schema do sladp.

Copie o arquivo através 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 após os outros includes.

Reinicie o slapd:

Instalando o Samba + LDAP no Debian [Artigo]

# /etc/init.d/slapd restart

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

Precisamos criar container no LDAP para os usuários, grupos e machines. Para fazer isso usaremos o phpldapadmin.

Em nosso exemplo o mesmo pode ser acessado através de qualquer navegador padrão através do seguinte endereço:

https://debian.meudominio.com.br/phpldapadmin/

Entre com a senha configurada no ldap.

Abre a árvore do seu domínio 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 contém o seguinte conteúdo:

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 não 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 domínio samba através da entrada:

sambaDomainName=NOMIS52

Nela você vai encontrar o SID do domínio, copie-o e guarde-o, pois vamos precisar desse identificador para configurar o phpldapadmin.

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 conteúdo:

$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 identificação é aquela que copiamos na página anterior.

Adicionando os grupos para uso do domínio Windows

Usando o phpladpadmin, adicione três 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 preferência, eu comecei em 2000 Samba Sid: Domain Admins

Unix name: users Samba Name: Domain Users GID: 2001 //você define o gid de sua preferência, eu comecei em 2000 Samba Sid: Domain Users

Unix name: users Samba Name: Domain Guests GID: 2002 //você define o gid de sua preferência, 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 após os arquivos de senhas:

passwd: compat ldap group: compat ldap shadow: compat ldap

Instalando o Samba + LDAP no Debian [Artigo]

Execute o getent para confirmar se os grupos foram criados:

# getent group

users:x:2000:

guests:x:2001:

admins:x:2002:

Adicionando segurança a solução

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

Vamos agora fazer algumas configurações que vão nos garantir um mínimo de segurança a nossa solução.

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 opção 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

required

pam_unix.so

Por:

account

sufficient

pam_ldap.so

account

required

pam_unix.so try_first_pass

No arquivo /etc/pam.d/common-password substitua a linha:

password

required

pam_unix.so nullok obscure min=4 max=8 md5

Por:

#ATENÇÃO A OPÇÃO 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

pam_unix.so nullok_secure

Por:

auth

sufficient

pam_ldap.so

auth

required

pam_unix.so nullok_secure use_first_pass

Instalando o Samba + LDAP no Debian [Artigo]

Reinicie o Samba:

# /etc/init.d/samba restart

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

Para melhorar a performance do serviço LDAP devemos instalar o ncsd através do comando:

# apt-get install nscd

Esse daemon é um serviço de cache para o ldap.

Testando a solução

Para testarmos a solução vamos criar dois objetos, um usuário e um computador e verificar se os mesmos foram realmente criados.

Vamos criar o usuário "Administrador" que será o admin do domínio ldap+samba e um usuário comum

Crie dois novos objetos Samba 3 User(s) na OU users através do phpldapadmin, abaixo um exemplo de características de preenchimento obrigatórias.

Uid: 0 //O administrador deve ter um uid 0 First Name: Admin User Name: Administrador Senha: password Encryption: MD5 (Atenção se você escolheu outro tipo de criptografia na página anterior) Windows Group: Domain Admins

Uid: 1000 First Name: João User Name: jclaudio Senha: password Encryption: MD5 (Atenção se você escolheu outro tipo de criptografia na página anterior) Windows Group: Domain Admins //é importante esse usuário participar do Domains Admins para que ele possa ter permissão de colocar uma máquina Windows no domínio ldap+samba Home Directory: /home/jclaudio

Verifique se os usuários foram inseridos através do comando:

# getent passwd

Verifique se o phpldapadmin criou o diretório home do usuário, caso não 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 usuário criado.

Adicionando uma máquina ao domínio:

Crie um objeto Samba 3 NT Machine na ou=machines. Exemplo de características:

Instalando o Samba + LDAP no Debian [Artigo]

Machine Name: Windows01 UID Number: 3001

Dicas

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

Bem galera, acho que é isso. Com essa solução simples você já pode ter total acesso a administração do seu domínio LDAP+SAMBA.

Ainda existem aqui mesmo no VOL vários artigos que recomendo e que podemos incrementar as configurações básicas desse artigo,

Abaixo alguns exemplos:

Servidor Samba completo Nesse artigo existem opções interessantes como RAID5 e algumas configurações muito legais para o Samba. Nesse artigo existem opções interessantes como RAID5 e algumas configurações muito legais para o Samba.

Gateway com autenticação pelo Samba Esse artigo parece ser muito legal, ainda vou testá-lo, mas a idéia é muito boa, Esse artigo parece ser muito legal, ainda vou testá-lo, mas a idéia é muito boa, um Gateway com autenticação pelo Samba.

Acesso aos recursos compartilhados de sua rede Microsoft ou Samba via HTTPé muito boa, um Gateway com autenticação pelo Samba. Servidor Samba com autenticação no Windows XP

Servidor Samba com autenticação no Windows XP e troca de senha automáticacompartilhados de sua rede Microsoft ou Samba via HTTP Scripts no SAMBA Configuração para permitir executar

Scripts no SAMBA Configuração para permitir executar Scripts no SAMBA. Configuração para permitir executar Scripts no SAMBA.

Samba - PDC com Debian e Clamwin antivírus sincronizado nas estaçõesConfiguração para permitir executar Scripts no SAMBA. É isso galera, VIVA O LINUX!!!

É isso galera, VIVA O LINUX!!!

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

Voltar para o site