vsftpd - não pode ler o arquivo de configuração mesmo quando o arquivo existe

5

Estou no Ubuntu 15.04 e instalei vsftpd . Quando eu executo o comando service vsftpd status , recebo a seguinte saída:

vsftpd.service - vsftpd FTP server
  Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor   preset: enabled)
Active: failed (Result: exit-code) since Fri 2015-10-09 19:18:50 IST;  3min 11s ago
Process: 2981 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
Process: 2979 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
Main PID: 2981 (code=exited, status=2)

Oct 09 19:18:50 harshal-Lenovo-B40-70 systemd[1]: Starting vsftpd FTP  server...
Oct 09 19:18:50 harshal-Lenovo-B40-70 systemd[1]: Started vsftpd FTP server.
Oct 09 19:18:50 harshal-Lenovo-B40-70 systemd[1]: vsftpd.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Oct 09 19:18:50 harshal-Lenovo-B40-70 systemd[1]: Unit vsftpd.service entered failed state.
Oct 09 19:18:50 harshal-Lenovo-B40-70 systemd[1]: vsftpd.service failed.

Eu verifiquei o /etc/vsftpd.conf , ele existe e não encontrei nada de errado nele. Como posso resolver isso?

    
por Guest1997 09.10.2015 / 15:56

5 respostas

12

Eu tive os mesmos sintomas ao tentar iniciar o vsftpd em um Ubuntu 16.04. No meu caso, foi o suficiente para comentar esta linha em /etc/vsftpd.conf :

listen_ipv6=YES

Eu não sei porque eu não trabalho com ipv6 para mim, mas eu não tenho necessidade de IP-v6 e desativá-lo resolveu o problema no meu caso.

    
por stenix 26.05.2016 / 13:11
6

passo 1: verifique o vsftpd.conf

listen=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Passo 2: Para ver qual serviço ftp está sendo executado, use

$ lsof -i | grep ftp

etapa 3: para parar xinetd

$ sudo service xinetd stop

Passo 4: Depois de parar o xinetd, reinicie seu serviço vsftpd digitando

$ /etc/init.d/vsftpd restart
    
por Siva Jack 15.09.2016 / 07:40
3

Isso pode ser corrigido comentando:

listen_ipv6=yes

e agora estou ativo no vsftpd.

    
por adster85 13.09.2016 / 17:40
0

Nenhuma dessas soluções funcionou para mim. Eu até tenho o SELinux desabilitado, então essa não foi a causa e o arquivo de configuração do vsftpd é 100% perfeito, porque service vstfpd start funciona instantaneamente, mas não seria iniciado na inicialização.

Minha solução final foi este script bash que é executado com o cron checando continuamente o serviço e funciona perfeitamente agora e inicia o vsftp na inicialização, verificando e vendo o serviço morto e, em seguida, iniciando-o.

#!/bin/bash
service=vsftpd

if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running!!!"
else
service vsftpd start
fi

E então meu cron é

* * * * * sudo /usr/sbin/startvsftpd.sh
    
por MitchellK 13.10.2017 / 13:58
-1

Você pode ver o /etc/vsftpd.conf. Essa configuração de arquivo Listen = YES, Se você estiver configurando, você usa o vsftpd start serivce. Podes tentar. Eu encontrei este problema, eu estava tão resolvido, espero que você possa ajudar.

    
por darkleo 08.01.2016 / 02:55