VsFTPd - LDAP - PAM

5

Estou tentando configurar um servidor VsFTPd para autenticar novamente um servidor LDAP. Pode ser fácil, mas como é a primeira vez que uso o LDAP e o PAM, tenho algumas dificuldades. O VsFTPd roda em um servidor Ubuntu 11.04 e o LDAP é OpenLDAP em um servidor Ubuntu 10.10. Desativei o AppArmor no primeiro. VsFTPd não pode se conectar ao servidor LDAP, no meu syslog eu tenho:

vsftpd: pam_ldap: ldap_simple_bind Can't contact LDAP server

O servidor LDAP está OK, pois eu posso fazer um ldapsearch .

Aqui está o meu arquivo /etc/pam.d/vsftpd :

auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
@include common-account
@include common-session
@include common-auth
auth required pam_ldap.so
account required pam_ldap.so
session required pam_ldap.so
password required pam_ldap.so

E aqui está o meu arquivo /etc/ldap.conf :

base dc=example,dc=com
uri ldapi:///ldap.example.com
ldap_version 3
rootbinddn cn=admin,dc=example,dc=com
pam_password md5
nss_initgroups_ignoreusers a_bunch_of_system_users

Alguém pode me ajudar por favor? Obrigado.

EDIT: nova versão do arquivo /etc/pam.d/vsftpd :

auth    required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

account required    pam_unix.so
account sufficient  pam_ldap.so

session required    pam_limits.so
session required    pam_unix.so
session optimal     pam_ldap.so

auth    required    pam_env.so
auth    sufficient  pam_unix.so nullok_secure
auth    sufficient  pam_ldap.so use_first_pass

auth    required    pam_shells.so
    
por Totor 05.10.2011 / 10:27

2 respostas

2

De acordo com man ldap.conf :

URI <ldap[si]://[name[:port]] ...>

The URI scheme may be any of ldap, ldaps or ldapi, which refer to LDAP over TCP, LDAP over SSL (TLS) and LDAP over IPC (UNIX domain sockets), respectively.

Portanto, altere uri ldapi:///ldap.example.com para uri ldap:///ldap.example.com e tente novamente.

    
por 05.10.2011 / 10:42
1

Ok, esta parte do problema está resolvida. Aqui está o arquivo /etc/pam.d/vsftpd de trabalho:

auth                    required                pam_ldap.so
account                 required                pam_ldap.so
password                required                pam_ldap.so

E você precisa adicionar esta linha a /etc/vsftpd.conf :

guest_enable=YES

Depois disso, ainda há algum trabalho para chroot corretamente os usuários do LDAP no servidor FTP, mas eles podem agora fazer o login.

Obrigado mais uma vez ao Rilindo pela sua ajuda. Afinal, as ACLs não eram o problema aqui.

    
por 05.10.2011 / 23:11