Minha pergunta é: quais configurações eu preciso alterar e / ou comandos para executar para permitir que eu entre no meu sistema vsftpd?
Estou recebendo esse erro, quando faço login usando ftp em vez de sftp:
Name (localhost:dbadmin): dbadmin
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/dbadmin
Login failed.
ftp>
Isso funciona ao fazer login usando sftp@
, mas meu servidor está protegido por um firewall e preciso fazer o login usando ftp e sftp.
Venho analisando algumas postagens sobre o erro "OOPS", mas até agora não tive sorte em fazer login.
Aqui estão algumas informações sobre meu sistema e configurações:
Estou executando o CentOS 6.4.
iptables e ip6tables estão parados e desativados.
Meu diretório pessoal está protegido por 700, e eu tentei 750, apenas para ver se isso fez alguma diferença. Isso não aconteceu.
Aqui estão as linhas ativas em /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
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Meu nome de login não está na lista de usuários.
fonte
Respostas:
Execute este comando, sem necessidade de reiniciar nenhum serviço e servidor:
Para verificar o status do SELinux:
ou
edite o arquivo
/etc/sysconfig/selinux
para incluirFazer isso exigirá uma reinicialização.
fonte
Embora a desativação do SELinux
SELINUX=disabled
resolva o problema, isso não seria aconselhável. Você pode permitir que o usuário ftp acesse seu diretório pessoal configurando o valor booleano do SELinuxftp_home_dir
executando o seguinte comando:fonte
você sempre pode permitir ao daemon FTP acesso total a todos os arquivos executando
fonte
Desativei o selinux seguindo estas instruções aqui . Consegui fazer login sem usar o sftp.
Para desativar permanentemente, editei
/etc/selinux/config
e configureiSELINUX=disabled
Após a reinicialização, consegui efetuar login normalmente.
fonte
Provavelmente, o usuário não tem privilégios de execução em sua pasta pessoal. Execute:
ou,
fonte
Espero que isso possa ajudar.
fonte
Correr
setenforce 0
como outra resposta sugerida não funcionou para mim.O seguinte comando resolveu o problema:
(Anteriormente, o diretório / home / dbadmin tinha 700 permissões.)
fonte