vsftpd - не может прочитать файл конфигурации, даже когда файл существует

Я нахожусь на Ubuntu 15.04, и я просто установил vsftpd. Когда я выполняю команду service vsftpd status, Я получаю следующий вывод:

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.

Я проверил /etc/vsftpd.conf, это существует, и я не нашел ничто плохого в нем. Как я могу решить это?

5
задан 9 October 2015 в 17:09

7 ответов

Это может быть зафиксировано путем комментирования:

listen_ipv6=yes

и я теперь активен на vsftpd.

0
ответ дан 10 October 2015 в 03:09
  • 1
    Я don' t знают, но я обнаружил эту проблему, помогая кому-то на IRC отладить проблему где конкретный пакет Python (lxml?) не удался работать из-за этого. Таким образом, это происходит на практике, некоторым людям, и стоит знать. (Обходное решение rm -r ~/.cache/pip/wheels/.) – Marius Gedminas 11 January 2017 в 19:30

шаг 1: проверьте шаг 2 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

: Для Просмотра, какая услуга ftp работает использование

$ lsof -i | grep ftp

шаг 3: остановить шаг 4 xinetd

$ sudo service xinetd stop

: После останавливания xinetd перезапускают Ваш vsftpd сервис путем ввода

$ /etc/init.d/vsftpd restart
0
ответ дан 10 October 2015 в 03:09
  • 1
    pyenv должен быть установлен для каждого пользователя, которым нужен Python? И если у меня есть 3 пользователя, которым нужна та же версия Python 3.6, тогда it' ll должны скомпилировать его 3 раза, и это возьмет 3x дисковое пространство? Если that' s верный тогда это sucks†¦:/ – Sarge Borsch 26 June 2017 в 00:54

Вы видите/etc/vsftpd.conf. Этот файл configurationгЂЂListen=YES, Если Вы установка, Вы используете vsftpd, запускают serivce. Можно попробовать. Я встретился с этой проблемой, я был так разрешен, я надеюсь, что можно помочь.

0
ответ дан 10 October 2015 в 03:09
  • 1
    Как некоторые другие комментаторы выше, я также испытал затруднения, заставив pip устанавливать с ppa:jonathonf/python-3.6. С другой стороны, ppa:deadsnakes/ppa работал безупречно (apt-get install python3.6 python3.6-venv -y). – Michael Herrmann 27 February 2018 в 05:00

У меня были те же признаки при попытке запустить vsftpd на Ubuntu 16.04. В моем случае было достаточно прокомментировать эту строку в /etc/vsftpd.conf:

listen_ipv6=YES

я не знаю, почему я не работаю с ipv6 для меня, но у меня нет потребности в IPv6, и отключение его решило проблему в моем случае.

0
ответ дан 10 October 2015 в 03:09
  • 1
    @SargeBorsch по умолчанию (если Вы используете pyenv-установщик), it' s пользовательская установка, но there' s ничто препятствующее тому, чтобы Вы установили это на /opt или безотносительно и добавили некоторые символьные ссылки на /bin. Я нахожу, что он являющийся только для пользователя чрезвычайно полезен; пользователи don' t нужен sudo (кроме, освобождает). Дисковое пространство является дешевым. – Nick T 26 June 2017 в 04:30

Ни одно из этих решений не работало на меня. У меня даже есть SELinux, отключенный так, чтобы не была причина, и файл конфигурации для vsftpd на 100% прекрасен, потому что service vstfpd start работы немедленно, но это просто не запустилось бы при запуске.

Моим конечным решением был этот сценарий удара, который работает с кроном, постоянно проверяющим сервис, и работает отлично теперь и запускает vsftp на запуске путем проверки и наблюдения, что сервис является мертвым и затем стартовым это.

#!/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

И затем мой крон

* * * * * sudo /usr/sbin/startvsftpd.sh
0
ответ дан 10 October 2015 в 03:09
  • 1
    @marius, почему Вы когда-либо использовали бы non-pyenv версию после установки его? – Nick T 11 January 2017 в 03:34

vsftpd нужен/etc/vsftpd.conf, который будет принадлежать корню. Проверьте, кто владеет им с

ls -la /etc

Для изменения, владелец выполняет следующую команду как как корень или через sudo

chown root /etc/vsftpd.conf
0
ответ дан 17 April 2019 в 15:39

В дополнение к некоторым из других решений (listen_ipv6=NO и listen=YES), мой перестал работать с той же ошибкой, потому что я включал комментарии после вещей, которые я изменил:

listen_ipv6=NO  # modified

Это также вызывало то же status=2/INVALIDARGUMENT ошибка. Мог только понять это путем выполнения демона непосредственно:

$ sudo /usr/sbin/vsftpd /etc/vsftpd.conf 
500 OOPS: bad bool value in config file for: listen_ipv6

Ни systemctl/service, ни /var/log/vsftpd.log не были никаким использованием.

Решение состояло в том, чтобы удалить запаздывающий комментарий:

listen_ipv6=NO
0
ответ дан 23 November 2019 в 08:38

Другие вопросы по тегам:

Похожие вопросы: