vsftpd falha na autenticação pam

7

Movendo uma configuração vsftpd testada e aprovada para um novo servidor com o Fedora 16, me deparei com um problema. Tudo parece ir como deveria, mas a autenticação do usuário falha. Não consigo encontrar nenhuma entrada em nenhum log que indique o que aconteceu.

Aqui está o arquivo de configuração completo:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

O FTP me desafia para um nome de usuário e senha, eu os forneço, Login incorreto. Eu verifiquei, este usuário é capaz de efetuar login no ssh. Algo está estragado com pam_service .

Anônimo (se alterado para permitido) parece funcionar bem.

O SELinux está desativado.

O Ftpsecure parece estar bem configurado ... Estou com uma perda completa!

Aqui estão os arquivos de log que examinei sem sucesso:

/var/log/messages
/var/log/xferlog      #empty
/var/log/vsftpd.log   #empty
/var/log/secure

Encontrou algo em /var/log/audit/audit.log :

type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'

Talvez eu deva olhar para /var/log/wtf-is-wrong.help : -)

Mais informações:

/etc/pam.d/vsftpd se parece com isso:

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth
    
por KateYoak 28.04.2012 / 18:53

6 respostas

14

Uau. Eu resolvi o problema. Isso equivale a uma configuração, mas dentro de /etc/pam.d/vsftpd

Como as sessões do ssh foram bem-sucedidas enquanto as sessões do ftp falharam, fui para

/etc/pam.d/vsftpd, removeu tudo que estava lá e, em vez disso, colocou o conteúdo de ./sshd para corresponder às regras com precisão. Tudo funcionou!

Por método de eliminação, descobri que a linha infratora era:

    auth       required     pam_shells.so

A remoção permite-me prosseguir.

Tuns out, "pam_shells é um módulo PAM que apenas permite acesso ao sistema se o shell do usuário estiver listado em / etc / shells." Eu olhei lá e com certeza, sem festa, sem nada. Este é um bug na configuração do vsftpd na minha opinião, já que em nenhum lugar da documentação você tem que editar / etc / shells. Assim, a instalação e instruções padrão não funcionam conforme indicado.

Eu vou encontrar onde posso enviar o bug agora.

    
por 01.05.2012 / 08:31
2

Estou usando o Ubuntu e tive o mesmo problema

Solução:

add-shell /sbin/nologin
sudo usermod -s /sbin/nologin ftpme
sudo vi /etc/pam.d/vsftpd

Em seguida, comente e adicione linhas da seguinte forma

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers  onerr=succeed
auth       required     pam_shells.so
#auth       include      password-auth
#account    include      password-auth
#session    required     pam_loginuid.so
#session    include      password-auth
@include common-auth
@include common-account
@include common-password
@include common-session
    
por 26.12.2014 / 17:31
0

Como você mencionou em sua própria resposta, o shell do usuário deve estar listado em /etc/shells . Você pode definir /sbin/nologin como shell do usuário para proibir o ssh e permitir o ftp sem alterar a configuração do pam:

usermod -s /sbin/nologin restricted_ftp_user
    
por 20.03.2013 / 07:26
0

Se estiver interessado na autenticação do PAM e em eventuais problemas relacionados, comecei a trabalhar com esse assunto enquanto adicionava corretamente a autenticação do PAM ao Openswan / Libreswan.

Hoje eu venho com um documento da Web relacionado à programação do PAM no meu banco de dados de conhecimento público. Você pode visualizar este documento no link

Se você também visualizar o outro documento a que me refiro na seção RELATED DOCUMENT, você poderá resolver alguns problemas de autenticação diretamente relacionados ao vsftp, que é o tópico tratado aqui.

    
por 30.04.2013 / 14:42
0

Se vsftpd falhar com um erro de

vsftpd.service: control process exited, code=exited status=2

Outra possibilidade é verificar se pasv_addr_resolve=YES está definido no arquivo /etc/vsftpd/vsftpd.conf . Isso faz com que o nome do host do servidor FTP seja resolvido via DNS. Se o DNS não for resolvido, como se você não pudesse ping yourhostname.example.com , será necessário corrigir esse problema de resolução de DNS ou definir pasv_addr_resolve=NO no /etc/vsftpd/vsftpd.conf e ele deve pelo menos deixar o vsftpd iniciar sem o erro.

    
por 11.01.2018 / 00:38
-2

Faça o backup do arquivo de configuração antes de fazer uma alteração;

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back

e então edite o vsftpd.conf (com o vi ou nano)

nano /etc/vsftpd.conf

Em seguida, faça a seguinte alteração

pam_service_name=ftp

Salve sua alteração e reinicie o servidor ftp (se você usar o nano, pressione CTRL + O & enter para salvar e, em seguida, CTRL + X para sair)

sudo service vsftpd restart
    
por 24.03.2014 / 14:20