Ir para o conteúdo
ou

Software livre Brasil

0 comunidades

Nenhum(a)

 Voltar a Blog
Tela cheia

Autenticação Linux Ubuntu com LDAP

10 de Agosto de 2009, 0:00 , por Software Livre Brasil - 66 comentários | Ninguém está seguindo este artigo ainda.
Visualizado 6396 vezes

(Autenticação de sistema Linux usando LDAP e mapeamento do home do usuário com o SAMBA em substituição ao NFS)

Pré-requisitos:

1 Introdução

Nesse artigo será mostrado como habilitar autenticação em sistema Linux, mas especificamente os sistemas baseados em Debian, tais como Ubuntu. Autenticação um sistema Linux em um servidor de autenticação com o LDAP é algo necessário e fundamental para o bom funcionamento de uma rede.

A autenticação do sistema Linux dá ao usuário o acesso a uma shell, por meio da qual ele pode interagir com o sistema. Autenticação só é possível devido ao módulo de autenticação que o Linux utiliza que é o PAM. Quando instalamos o pacote libnss-ldap, todos os ajustes no módulo PAM são feitos automaticamente.

# apt-get install libnss-ldap

Durante a instalação, alguns passos devem ser preenchidos. O primeiro passo é definir o ip do servidor LDAP, como mostra a figura 1.


Figura 1 – Configuração do ip do servidor LDAP

Na tela seguinte é solicitado o suffix do servidor LDAP, como motra a figura 02.


Figura 02 – Configuração do suffix

Na próxima tela é solicitada a versão do LDAP. Normalmente estamos trabalhando com a versão 3 do LDAP.

A próxima tela é muito importante, porque permite o armazenamento da semana do administrador do LDAP e possibilita a utilização desses dados por outras aplicações como NFS. A senha do administrador será armazenada em outro arquivo. Portanto escolha a opção "YES" como mostra a figura 03.

 

Figura 03 – Armazenamento do administrador do LDAP

A próxima tela define que o sistema vai utilizar o login do database.

 

Figura 04 – definição do login

Na telas seguintes é definido o administrador da base LDAP e a sua senha.

Após a instalação do pacote libnss-ldap todos os ajustes no PAM foram feitas pelo instalador. Dentro do diretório /etc/pam.d/, temos os arquivos common-account, common-auth, common-password contém as linhas de integração do PAM com LDAP.

Configuração dos arquivos

O arquivo nsswitch.conf define os locais onde o sistema operacional pesquisará para realizar autenticação. Na maioria dos casos é definido mais de um local, como, por exemplo, "passwd: files ldap", sendo que, neste caso, o sistema irá procurar primeiro nos arquivos (files) e em seguida no LDAP.

passwd:        files ldap
shadow:        files ldap
 group:        files ldap

Neste ponto, o sistema estará buscando as senhas na base de dados LDAP. Para verificar se isso está realmente acontecendo, use o comando getent:

# getent passwd

Ele deverá retornar todos os usuários que estão no LDAP.

Compartilhamento do HOME

Com o libnss-ldap instalado e o arquivo nsswitch.conf configurado, podemos fazer o teste para verificar se o sistema está autenticando os usuários do LDAP.

Discher login: clodonil

Password: * * * *

No directory, logginf in with HOME=/

[clodonil@Discher] /$

No exemplo acima, não existe o diretório /home/clodonil no sistema. O diretório é definido na base LDAP. Por isso que o sistema não encontrou o HOME do usuário, porque não existe. Para resolver, podemos configurar para ser montando o HOME do usuário que deve estar no servidor de arquivo, através do SAMBA ou NFS.

Neste artigo vamos utilizar o SAMBA devido aos problemas e "fama" do NFS. O SAMBA deve estar configurado e o mesmo usuário deve estar cadastrado no servidor SAMBA.

Vamos instalar os pacotes para montar o smbfs durante o login, os dois pacotes são libpam-mount e smbfs.

# apt-get install libpam-mount smbfs

Após a instalação vamos fazer um teste no shell para termos a certeza que o SAMBA está funcionando corretamente. Para isso vamos montar o HOME do usuário no /mnt.

# mount –t smbfs –o username=clodonil,password=senha //servidor_samba/clodonil /mnt

Se o mapeamento funcionar corretamente, vamos passar para a configuração do arquivo pam_mount.conf.xml que é o arquivo que faz o mapeamento automático do usuário após o login.

Vamos editar o arquivo /etc/security/pam_mount.conf.xml, adicionando a seguinte linha.

<volume fstype="smbfs" server="ip_do_servidor_samba" path="%(USER)" mountpoint="/home/%(USER)" options="iocharset=utf8,file_mode=0700,dir_mode=0700" />

Essa linha adicionada define que será utilizado o protocolo "smbfs", e também deve ser definido o ip do servidor do SAMBA no campo server. Os outros campos como %(USER) será substituído automaticamente pelo sistema na hora do login pelo usuário em questão.

Segue o arquivo /etc/security/pam_mount.conf.xml completo.

<?xml version="1.0" encoding="utf-8" ?>
quot;pam_mount.conf.xml.dtd">
<pam_mount>
<volume fstype="smbfs" server="ip_do_servidor_samba" path="%(USER)" mountpoint="/home/%(USER)" options="iocharset=utf8,file_mode=0700,dir_mode=0700" />
<debug enable="0" />

<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />
<path>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</path>
<logout wait="0" hup="0" term="0" kill="0" />
<mkmountpoint enable="1" remove="true" />
</pam_mount>

Feito isso, será montado no sistema de arquivo o HOME do usuário na hora do login.

 


Fonte: http://www.nisled.org/?p=1193

66 comentários

Enviar um comentário
  • 54fc4c3e2c2810966c16627fab1d49b5?only path=false&size=50&d=404Alessandro Carvalho da Fonseca(usuário não autenticado)
    21 de Agosto de 2009, 10:39

    Testando no ubuntu

    A montagem do diretorio esta funcionando blza o teste
    "# mount –t smbfs –o username=clodonil,password=senha //servidor_samba/clodonil /mnt", porem com as alteracoes no arquivo /etc/security/pam_mount.conf.xml
    o mesmo nao esta montando o diretorio home apos o login..
    distro ubuntu 9.0.4


  • A8e745e27aaea45f5f606ee8ca173c3a?only path=false&size=50&d=404Imigrante(usuário não autenticado)
    10 de Novembro de 2009, 10:05

    Como criar perfil padrão?

    Meu LDAP já está autenticando beleza. Mas gostaria de saber como devo fazer para utilizar um perfil previamente configurado, para servir de padrão quando outros perfis forem criados.
    Ex: Área de trabalho, ícones, paineis, configurações de proxy e browser, etc...
    Valeu!!!


  • 9ecd63fcc4134011fbaa4da077556ca1?only path=false&size=50&d=404Alan Jonathan(usuário não autenticado)
    4 de Janeiro de 2010, 14:13

    Resposta ao Imigrante

    Em /etc/pam.d/common-session

    Adicione a linha:

    session required pam_mkhomedir.so umask=0022 skel=/home/%USER%

    Substitua %USER% pelo usuário que deseja tornar seu perfil padrão.


  • 3b7218766626d697589f042dd50181b8?only path=false&size=50&d=404Flavio Medina(usuário não autenticado)
    11 de Março de 2010, 10:44

    Erro

    Camarada esta dando erro, estou usando ubuntu 9.10, se poderem me ajuda agradeceria...

    /etc/security/pam_mount.conf.xml:8: parser error : Specification mandate value for attribute server
    /home/


  • C596b15e177d39fe5ac2f02720acba85?only path=false&size=50&d=404inocencio(usuário não autenticado)
    22 de Julho de 2010, 15:07

    Autenticação do Ubuntu no ldap

    Meu amigo, até a configuração esta ok, mas quando vou testar com o geten passwd, ele só retorna os usuario local e não do ldap.Voce pode me ajudar.


  • C596b15e177d39fe5ac2f02720acba85?only path=false&size=50&d=404inocencio(usuário não autenticado)
    22 de Julho de 2010, 15:11

    Autenticação do Ubuntu no ldap

    Meu amigo, até a configuração esta ok, mas quando vou testar com o geten passwd, ele só retorna os usuario local e não do ldap.Voce pode me ajudar.


Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.