Estou tentando configurar um servidor vsftpd no CentOS 5.3 x64. Não consigo fazer nenhum login de usuário local funcionar. Aqui está o meu vsftpd.conf:
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES
Aqui está a saída do vsftp.log:
Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP command: Client "10.0.1.138", "PASS <password>"
Mon Sep 13 23:34:44 2010 [pid 19242] [dwelch] FAIL LOGIN: Client "10.0.1.138"
Mon Sep 13 23:34:45 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "530 Login incorrect."
E a saída do log seguro:
Sep 13 17:40:50 intra vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dwelch rhost=10.0.1.138 user=dwelch
Parece que o pam não está autenticando o usuário. Aqui está o meu arquivo /etc/pam.d/vsftp:
#%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 system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
Alguém pode ver o que estou perdendo? Obrigado.
Respostas:
comment #auth obrigatório pam_shells.so
e depois
pam_shells.so significa que somente usuários com acesso a shells devem ser permitidos; é por isso que precisa ser comentado.fonte
No meu caso, resolvi o mesmo problema com o seguinte:
vi /etc/pam.d/vsftpd
a linha de comentário #auth inclui autenticação do sistema
então
reinicialização do serviço vsftpd
fonte
Esta não é uma resposta adequada, mas uma estratégia que encontrei para me servir bem:
Comece a comentar as linhas do seu
/etc/pam.d/vsftp
arquivo e veja se (e quando) ele permite que você faça o login. O PAM foi projetado intencionalmente para relatar apenas sucesso ou falha, não razão.fonte
você tem apenas um servidor ftp no seu sistema? Eu tive problemas semelhantes e, em seguida, baixo e eis que examinei mais profundamente o problema e havia dois servidores ftp instalados que eram conflitantes. Eu desinstalei um e o problema foi corrigido.
Se você fez o 'yum install vsftpd', não deve mexer nos arquivos pam (algumas coisas geralmente estão erradas quando você começa a mexer no PAM).
Caso contrário, execute chkconfig --list | grep ftp e veja o que aparece (veja se o vsftpd aparece lá - se não houver algo de errado com a instalação).
E minha sugestão final seria executar uma atualização yum.
fonte
O usuário tem um shell válido? Eu acho que tem que estar na lista / etc / shells. O usuário definitivamente não é o arquivo / etc / vsftpd / ftpusers?
Certifique-se de editar definitivamente o /etc/vsftpd/vsftpd.conf, isso me incomodou no CentOS. Eu estava editando o /etc/vsftpd.conf.
O vsftpd pode ser um pouco complicado e não é bom em relatar erros. Fique com ele, eu estava arrancando meu cabelo com um problema muito semelhante, é sempre uma solução simples.
fonte
vi / etc / passwd / bin / bash para seu usuário
fonte