У меня есть машина CentOS 7.1, недавно установленная без каких-либо других настроенных служб. Я установил vsftpd через yum
, но когда я иду запустить службу (через systemctl
), Получаю ответ:
Не удалось выполнить задание vsftpd.service, поскольку процесс управления завершился с кодом ошибки. См. "Systemctl status vsftpd.service" и "journalctl -xe" для подробностей.
systemctl status
не особо поучительно:
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2017-05-02 11:17:55 BST; 49s ago
Process: 111420 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=1/FAILURE)
И journalctl -xe
предоставляет следующее (удаление временных меток для краткости):
systemd[1]: Received SIGCHLD from PID 111421 (vsftpd).
systemd[1]: Child 111420 (vsftpd) died (code=exited, status=1/FAILURE)
systemd[1]: Child 111420 belongs to vsftpd.service
systemd[1]: vsftpd.service: control process exited, code=exited status=1
systemd[1]: vsftpd.service got final SIGCHLD for state start
systemd[1]: vsftpd.service changed start -> failed
systemd[1]: Job vsftpd.service/start finished, result=failed
systemd[1]: Failed to start Vsftpd ftp daemon.
systemd[1]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/systemd1 interface=org.freedesktop.systemd1.Manager member=JobRemoved cookie=9 reply_cookie=0 error=n/a
systemd[1]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/systemd1 interface=org.freedesktop.systemd1.Manager member=JobRemoved cookie=17180 reply_cookie=0 error=n/a
systemd[1]: Unit vsftpd.service entered failed state.
systemd[1]: vsftpd.service failed.
systemd[1]: vsftpd.service: cgroup is empty
systemd[1]: Child 111421 (vsftpd) died (code=exited, status=2/INVALIDARGUMENT)
Единственная строка, которая кажется значимой, - это предпоследняя, vsftpd.service: cgroup is empty
. Но я не могу найти ничего полезного в этом плане. Конфигурационный файл установлен по умолчанию из репозитория yum. Я выполнил эти же шаги в тестовой среде, и они работали нормально.
Для меня проблема заключалась в том, что установка по умолчанию для vsftpd
в CentOS 7 ожидает, что IPv6 будет включен на хосте. В моем случае это не так, и я не заметил разницы между моей локальной виртуальной машиной и тем, что нам предоставили наши поставщики услуг.
В конфигурационном файле /etc/vsftpd/vsftpd.conf
измените строки (ближе к концу файла):
listen=NO
listen_ipv6=YES
вместо этого читать как:
listen=YES
listen_ipv6=NO
И сервис запускается!
В конфигурационном файле /etc/vsftpd/vsftpd.conf
измените это на
listen=YES
listen_ipv6=NO
Не забывай бежать systemctl restart vsftpd.service