Linux系统:CentOS下vsftpd的安装配置

一、安装vsftpd

  1、检测是否已安装vsftpd:

  安装系统时使用的镜像中可能会保留一些常用的应用,所以要先查看是否已安装,使用以下命令查看服务:

systemctl -a|grep vsftpd

  如果如下图所示,说明还没有安装vsftpd:

  

  2、安装vsftpd:

  使用以下命令:

yum -y install vsftpd

  

二、修改配置文件

  使用vi命令打开/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
chroot_local_user=YES
listen=YES
listen_ipv6=NO
pam_service_name
=vsftpd userlist_enable=NO userlist_deny=YES userlist_file=/etc/vsftpd/chroot_list tcp_wrappers=YES allow_writeable_chroot=YES

  保存并退出。

  注意这里配置文件一定要配置正确,不要乱动其他的地方,否则可能启动服务时可能就会出现以下错误:

Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

三、启动服务

  1、启动ftp服务:

systemctl start vsftpd.service

  2、服务检测:

  再次使用systemctl -a|grep vsftpd命令进行服务检测,此时结果如下:

  

  3、将ftp服务设为开机启动:

systemctl enable vsftpd.service

  

  4、查看开机自启是否已设置完成:

systemctl list-unit-files|grep vsftpd.service

  

  enabled说明已完成设置。

四、查看防火墙端口是否打开

  1、查看状态:

systemctl status firewalld

  如下图,状态为dead,说明防火墙未开启。

  

  2、启动防火墙:

systemctl start firewalld.service

  

  使用命令开启后,再次查看状态,现在是running,则说明已经启动成功。

  3、查看端口状态:

firewall-cmd --zone=public --query-port=21/tcp

  结果如下:

  

  no说明该端口未打开,需要打开该端口。

  4、开启端口:

firewall-cmd --zone=public --add-port=21/tcp

  

  success证明端口打开成功。

  5、重载配置:

firewall-cmd --reload

  

  success说明重载配置成功,每次添加规则之后要执行重载,让修改的规则生效

  6、将防火墙设为开机启动:

systemctl enable firewalld

  

五、设置权限

  1、查看用户目录:

vi /etc/passwd

  

  修改目录和权限,/bin/bash为可登录,/sbin/nologin为不允许登录系统

  2、设置目录权限:

chmod 777 -R /var/ftp/pub

  3、设置ftp用户的登录密码:

passwd ftp

  

  修改完成,可以传输文件进行测试。

六、测试ftp是否正常运行

  1、连接服务器:

  使用Xftp连接服务器,输入主机ip地址,协议为ftp,端口为开放的21端口,填写输入用户名ftp和设置的用户密码,在选项中取消勾选“使用被动模式”,进行连接:

  

  

  连接成功,传输一个文件测试,结果如下:

  

原文地址:https://www.cnblogs.com/guobin-/p/13895497.html