FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Pam com LDAP
 
23.04  
Inicio arrow Artigos arrow Pam com LDAP
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Pam com LDAP PDF Imprimir E-mail
Por Giancarlo Rubio   
04/04/2008
FreeBSD e PAM

O FreeBSD suporta a autenticação do PAM no LDAP desde a versão 5.1. A minha necessidade foi quando um servidor de e-mail, necessitava da permissão de leitura e escrita no home do usuário e sendo que o servidor LDAP não estava na mesma máquina.

Porque usarei PAM?

O PAM permite que inúmeras aplicações (squid,apache,postfix,etc..) autentiquem em sua base de usuários sem ter que configurar cada uma delas para a autenticação, no meu caso na base LDAP.

FreeBSD e PAM

O FreeBSD suporta a autenticação do PAM no LDAP desde a versão 5.1. A minha necessidade foi quando um servidor de e-mail, necessitava da permissão de leitura e escrita no home do usuário e sendo que o servidor LDAP não estava na mesma máquina. 

Instalando os pacotes necessários

* Pressuponho que você já tenha uma base LDAP configurada e populada.
Adicionamos os pacotes nss_ldap e pam_ldap
#pkg_add -rv nss_ldap pam_ldap

Ou se preferir via ports
# cd /usr/ports/net/nss_ldap/
# make install clean
# cd /usr/ports/security/pam_ldap/
# make install clean



Configurando

Devemos agora configurar nosso ldap.conf e nss_ldap.conf. Copie os originais
#cp /usr/local/etc/nss_ldap.conf.dist /usr/local/etc/nss_ldap.conf
#cp /usr/local/etc/ldap.conf.dist /usr/local/etc/ldap.conf


Abra ele com seu editor preferido e altere as seguintes linhas de acordo com suas configurações dos 2 arquivos (nss_ldap.conf e ldap.conf

- host 127.0.0.1
- base dc=padl,dc=com
- rootbinddn cn=manager,dc=padl,dc=com ( Esta tem que ser descomentada)


Crie o arquivo ldap.secret com a senha do seu "Manager ou Admin" da sua base ldap e de permissão de leitura e escrita somente para o root
# echo 'minhasenha' > /usr/local/etc/ldap.secret
# chmod 600 /usr/local/etc/ldap.secret


Abra seu arquivo /etc/pam.d/system e adicione a linha abaixo
auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass
antes desta "auth required pam_unix.so no_warn try_first_pass nullok".

Edite agora seu /etc/nsswitch.conf alterando as linhas
group: compat -> group: files ldap
passwd: compra -> passwd: files ldap

Testando

Para verificar se tudo ocorreu bem um simples id deverá retornar seu usuário da base ldap
#id nomedousuario

Se não funcionar verefique seu messages a caça de algum erro.
Se mesmo assim não funcionar, rode seu ldap em modo debug provavelmente seu ldap está "bindando de forma errada" (usuário, senha, base).

Problemas e Soluções

Ao reiniciar a máquina o slapd demorava quase 2 minutos para subir.O que acontecia?? Percebi que o daemon ao iniciar sobe com o usuário slapd, a minha configuração do pam manda ele procurar no ldap mais se ele não está de pé como vai achar?? Após muitas horas de google cheguei a solução.

Troquei no meu nss_ldap.conf a opção bind_policy de hard para soft. Logo se o ldap falhar ele não tentará conectar várias vezes e retorna um erro de conexão.

Referências
Quick and dirty FreeBSD 5.x and nss_ldap mini-HOWTO

Comentrios
SiuxYwknrLvjhfkImz
Por Kerem em 19/07/2012 13:54:29
(I'm so sorry for the delayed repssnoe I think the comment notifications for this blog are going to somebody who's on holiday!)Thanks a lot for the comments.Yes, we could certainly do with some kind of remote wake-up facility, and I agree about it being quite important now. Lots people will need it. When I looked at office-based DICE machines recently, perhaps two thirds of them had had a remote login during the previous few weeks. Even if all of those people disable sleep on their machines until we have Wake On LAN, we should still get more machines sleeping than do at the moment (currently in offices: practically none at all!).We have been doing a few experiments with Wake On LAN and have been identifying technical issues which will need work. We've been looking at the possibility of using the University's WoL service and of developing our own. For technical reasons the latter currently looks easier and quicker, although that could change.The prioritisation process for the next round of development will be happening soon so perhaps it won't be that long before we're able to get to work in earnest, should the WoL project get the go-ahead.
This appears to fix
Por Fyodor em 15/09/2013 11:06:36
This appears to fix the prbolem, thank you for your post.As far as I can see, you will have to set RewriteLogLevel 0 to _every_ Virtualhost container in your config file. It's a bummer. I wonder if this will be fixed in the next Apache version?
{ print $array[0] .
Por Vinky em 01/10/2015 11:19:49
{ print $array[0] . "\n"; }That'll give you as many copies of $array[0] as there are parts in the array.You can aclscpmioh everything you're doing in this file with:perl -lanwe 'print $F[0]' /path/to/your/access_logFor text processing things, it's often better to use (with no explicit file-opening/-closing) than .Just some tips for someone who might come across this later, as I did.


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 06/04/2008 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:

Dificuldades para imprimir aspas simples no awk(1)? escaping não ajuda né? Tente um escape no código de aspas simples (47): 

# echo a b | \
awk '{print "\47"$1"\47\t"$2}'

'a'     b

Para aspas duplas use \42

 

 






Wallpapers
Sua Opiniao
Online:
Ns temos 15 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.