I have a CentOS 7.1 machine, recently installed with no other services currently configured. I have installed vsftpd via yum
, but when I go to start the service (via systemctl
), I get the response:
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
systemctl status
isn't particularly enlightening:
● 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)
And journalctl -xe
provides the following (removing the timestamps for brevity):
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)
The only line that seems meaningful is the penultimate one, vsftpd.service: cgroup is empty
. But I can't find anything that is useful in this regard. The config file is the default set from the yum repo. I followed these same steps on a test environment and they worked fine.
Best Answer
The problem for me was that the default install for
vsftpd
on CentOS 7 expects IPv6 to be enabled on the host. In my case, it wasn't, and I hadn't noticed the difference between my local VM and what our service providers had given us.In the configuration file
/etc/vsftpd/vsftpd.conf
change the lines (near the end of the file):to instead read as:
And the service now starts!