我在 VirtualBox 中安装了 Centos 的最小版本。我想运行 ftp 服务来在主机和虚拟机之间共享文件,然后了解 ftp 服务器。
我安装了 vsftpd 并更改了 vsftpd.conf 文件,如下所示:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=O22
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port 2O=YES
xferlog_std format=YES
chroot_local_user=YES
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
但是,当我输入时,service vsftpd start
出现以下错误:
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and journalctl -xe" for details.
这个问题是由于上面所示的错误配置而发生的,还是其他原因?我可以做什么来启动我的 ftp 服务器?
谢谢!
编辑
输出如果systemctl status -l vsftpd.service
[user@localhost vsftpd]$ systemctl status -l vsftpd.service
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service, disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Ter 2017-05-09 21:03:19 -03; 3min 2s ago
Process: 3047 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited status=2)
Mai 09 21:03:19 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
Mai 09 21:03:19 localhost.localdomain systemd[1]: vsftpd.service: control process exited, code=exited status=2
Mai 09 21:03:19 localhost.localdomain systemd[1]: Failed to start Vsftpd ftp daemon.
Mai 09 21:03:19 localhost.localdomain systemd[1]: Unit vsftpd.service entered failed state.
Mai 09 21:03:19 localhost.localdomain systemd[1]: vsftpd.service failed.
[user@localhost vsftpd]$
答案1
根据您提供的配置,您有一个介于和space
之间的值。xferlog_std
format=YES
另外,您可能希望与工作配置进行比较:
$ sudo cat /etc/vsftpd/vsftpd.conf | grep -v "#"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=abdullah
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
答案2
就我而言,我在 TCP 21 上有另一个进程。
$ netstat -nalp | grep 21
这时我在端口上看到了xinetd。 Vfstpd 停止后成功启动。
$ service stop xinetd
答案3
我也遇到了端口 21 的问题,但它可以通过使用以下命令停止 xinetd 服务来解决:
systemctl stop xinetd
这service stop xinetd
不起作用。
答案4
在 /etc/vsftpd/vsftpd.conf 中,listen_ipv6=yes 设置导致 vsftpd 尝试同时监听 ipv6 和 ipv4。设置listen_ipv6=no 为我解决了这个问题。
进行更改后停止并启动服务。