Quais são as configurações para corrigir o erro vsftpd “500 OOPS: cannot change directory”?

8

Minha pergunta é quais configurações eu preciso alterar e / ou comandos para executar para permitir que eu faça o login no meu sistema vsftpd?

Estou recebendo este erro quando faço 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 o login usando sftp@ , mas meu servidor está atrás de um firewall, e eu preciso ser capaz de fazer o login usando ftp e sftp.

Eu tenho visto alguns posts sobre o erro "OOPS", mas até agora não tive sorte.

Aqui estão algumas informações sobre o meu sistema e configurações:

Estou executando o CentOS 6.4.

iptables e ip6tables são parados e desativados.

Meu diretório pessoal está protegido 700, e eu tentei 750, só para ver se isso fazia 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á em user_list.

    
por octopusgrabbus 17.06.2013 / 21:10

6 respostas

6

Execute este comando, não é necessário reiniciar nenhum serviço & servidor:

# setenforce 0

Para verificar o status do SELinux:

# getenforce

ou

edite o arquivo /etc/sysconfig/selinux para incluir

SELINUX=disabled

Isso exigirá uma reinicialização.

    
por 18.02.2015 / 04:55
6

Embora a desativação do SELinux por SELINUX=disabled resolva o problema, isso não seria aconselhável. Você pode permitir que o usuário do ftp acesse seu diretório inicial configurando o valor booleano do SELinux ftp_home_dir executando o seguinte comando:

setsebool -P ftp_home_dir=1
    
por 31.10.2013 / 07:27
1

Eu desativei o selinux seguindo estas instruções aqui . Consegui fazer o login sem usar o sftp.

Para desativar permanentemente, editei /etc/selinux/config e configurei

SELINUX=disabled

Após a reinicialização, consegui fazer o login normalmente.

    
por 17.06.2013 / 21:53
1

você sempre pode permitir o acesso completo do daemon FTP a todos os arquivos executando

setsebool -P allow_ftpd_full_access 1
    
por 14.05.2014 / 00:43
0

Provavelmente, o usuário não possui privilégios de execução em sua pasta pessoal. Realize:

chmod +x /home/user

ou

chmod 700 /home/user
    
por 05.04.2017 / 01:32
0

A execução de setenforce 0 como outra resposta sugerida não funcionou para mim.

O seguinte comando resolveu o problema:

chmod -R 755 /home/dbadmin

(Anteriormente, o diretório / home / dbadmin tinha 700 permissões.)

    
por 19.10.2018 / 21:00