Estou tentando configurar o VSFTPD com o Winbind para restringir os usuários autenticados pelo Active Directory, apenas para aqueles que pertencem a um grupo específico.
Estou usando um arquivo conf genérico para o vsftpd, com poucas alterações:
$ cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/data/ftp
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=Yes
pasv_max_port=51000
pasv_min_port=50000
port_enable=yes
local_max_rate=0
use_localtime=YES
session_support=YES
O Winbind está configurado e o servidor está ligado ao domínio:
$ wbinfo -u
administrator
guest
...
Nos arquivos de configuração do PAM, eu coloquei esses arquivos de configuração:
$ cat /etc/pam.d/vsftpd
... (Default settings) ...
# Calls the vsftpd-winbind PAM config file:
auth include vsftpd-winbind
account include vsftpd-winbind
session include vsftpd-winbind
$ /etc/pam.d/vsftpd-winbind
auth required pam_env.so debug
auth required pam_winbind.so require_membership_of=GROUPNAME debug debug_state
auth sufficient pam_winbind.so require_membership_of=GROUPNAME debug debug_state
auth required pam_deny.so debug
account sufficient pam_winbind.so require_membership_of=GROUPNAME debug debug_state
account required pam_deny.so
password required pam_cracklib.so retry=3
password sufficient pam_unix.so nullok use_authtok md5 shadow
password required pam_deny.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_limits.so
session required pam_unix.so
Quando eu testo o vsftpd, o erro abaixo é retornado em / var / log / secure:
Jun 15 16:48:01 localhost vsftpd[2615]: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=joao rhost=rj1.ticorporativa.alog.com.br user=joao
Jun 15 16:48:01 localhost vsftpd[2615]: pam_krb5[2615]: error reading keytab 'FILE:/etc/krb5.keytab'
Jun 15 16:48:01 localhost vsftpd[2615]: pam_krb5[2615]: TGT verified
Jun 15 16:48:01 localhost vsftpd[2615]: pam_krb5[2615]: authentication succeeds for 'joao' ([email protected])
Jun 15 16:48:01 localhost vsftpd[2615]: pam_winbind(vsftpd:account): user 'joao' granted access
Jun 15 16:48:01 localhost vsftpd[2615]: pam_winbind(vsftpd:account): pam_parse: unknown option: require_membership_of=GROUPNAME
Inicialmente, achei que era um erro de sintaxe, mas tentei com várias sintaxes no arquivo de configuração do PAM:
require_membership_of=GROUPNAME debug debug_state
require_membership_of="GROUPNAME" debug debug_state
require_membership_of=DOMAIN\GROUPNAME debug debug_state
require_membership_of="DOMAIN\GROUPNAME" debug debug_state
require_membership_of=GROUP_SID debug debug_state
require_membership_of="GROUP_SID" debug debug_state
Nessas sintaxes com o "DOMAIN \", confiei na página do manual PAM_WINBIND: link
Se eu remover o "require_membership_of" do arquivo de configuração do PAM, o FTP funciona, mas obviamente, o filtro Membership do GROUP não é aplicado.
Alguém já teve algo parecido e pode ajudar?