vsftpd не запускается (status=2)
Проблема в том, что vsftpd
служба не запускается после передачи рабочей конфигурации с другого сервера.
из vsftpd
Файлы конфигурации, только эти были изменены:
/etc/vsftpd.chroot_list
добавить локальные имена пользователей./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
ftpd_banner=Hello.
listen=YES (*)
listen_ipv6=NO (*)
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
dual_log_enable=YES
use_localtime=YES (*)
rsa_cert_file=/path/to/vsftpd.crt (*)
rsa_private_key_file=/path/to/vsftpd.key (*)
ssl_enable=YES (*)
allow_anon_ssl=NO (*)
force_local_data_ssl=NO (*)
force_local_logins_ssl=NO (*)
ssl_tlsv1=YES (*)
ssl_sslv2=NO (*)
ssl_sslv3=NO (*)
require_ssl_reuse=NO (*)
ssl_ciphers=HIGH (*)
ssl_tlsv1_1=YES (*)
ssl_tlsv1_2=YES (*)
allow_writeable_chroot=YES (*)
Подчеркивается, что конфигурация была портирована с рабочего vsftpd
пример. Рабочий экземпляр vsftpd-2.2.2-24.el6.x86_64 был на RHEL 6 (CentOS 6), а новый экземпляр vsftpd-3.0.2-22.el7.x86_64 - на RHEL 7 (CentOS 7). Фактически, очень похожая конфигурация тривиально запускается на другом сервере.
VSFTP Не запускается CentOS 7, это бесполезно. НЕ требуется, чтобы listen_ipv6=YES
устанавливается, так как требуется только одно из listen_ipv6
или же listen
установлен ДА, а другой - НЕТ. Кроме того, в то время как allow_writeable_chroot=YES
не присутствовал на оригинальной рабочей конфигурации, просто НЕ требуется запуск vsftpd
(хотя важно решить другую проблему, связанную с переносом конфигурации из RHEL 6 в RHEL 7).
$ sudo systemctl status vsftpd
* vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled;
vendor preset: disabled)
Active: inactive (dead)
$ sudo systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/
vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
$ sudo systemctl start vsftpd
Job for vsftpd.service failed because the control process exited with
error code. See "systemctl status vsftpd.service" and "journalctl -xe"
for details.
$ sudo systemctl -l status vsftpd
* vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled;
vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2018-07-31 22:07:56 CDT;
6min ago
Process: 10131 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
(code=exited, status=2)
Jul 31 22:07:56 host.example.com systemd[1]: Starting Vsftpd ftp daemon...
Jul 31 22:07:56 host.domain.tld systemd[1]: vsftpd.service: control process exited, code=exited status=2
Jul 31 22:07:56 host.domain.tld systemd[1]: Failed to start Vsftpd ftp daemon.
Jul 31 22:07:56 host.domain.tld systemd[1]: Unit vsftpd.service entered failed state.
Jul 31 22:07:56 host.domain.tld systemd[1]: vsftpd.service failed.
$ sudo journalct -xe
Jul 31 22:23:33 host.domain.tld sudo[11537]: user : TTY=pts/0 ; PWD=/etc/vsftpd ; USER=root ; COMMAND=/bin/systemctl start vsftpd
Jul 31 22:23:33 host.domain.tld polkitd[697]: Registered Authentication Agent for unix-process:11538:187361910 (system bus name :1.13901 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, loc
Jul 31 22:23:33 host.domain.tld systemd[1]: Starting Vsftpd ftp daemon...
-- Subject: Unit vsftpd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit vsftpd.service has begun starting up.
Jul 31 22:23:33 host.domain.tld systemd[1]: vsftpd.service: control process exited, code=exited status=2
Jul 31 22:23:33 host.domain.tld systemd[1]: Failed to start Vsftpd ftp daemon.
-- Subject: Unit vsftpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit vsftpd.service has failed.
--
-- The result is failed.
Jul 31 22:23:33 host.domain.tld systemd[1]: Unit vsftpd.service entered failed state.
Jul 31 22:23:33 host.domain.tld systemd[1]: vsftpd.service failed.
1 ответ
В этом случае было удачно, что другой сервер был успешно запущен с очень похожей рабочей конфигурацией, так что можно было бы сделать концептуальное устранение неполадок с поиском различий.
Решение. Убедитесь, что все файлы, на которые ссылается конфигурация, действительно существуют (или доступны для сервера). Например:
rsa_cert_file=/path/to/vsftpd.crt
rsa_private_key_file=/path/to/vsftpd.key
В рабочей установке ключи уже были переданы в систему как часть работы веб-сервера, но в этой системе vsftpd
были в месте, которое еще не было синхронизировано.
Заполнение файлов.crt и.key устранило эту ошибку.