CentOS7系统搭建VSFTP服务

1、安装vsftpd和ftp服务

yum install -y vsftpd
yum install -y ftp

2、启动FTP服务并设置开启自启动

systemctl start vsftpd
systemctl enable vsftpd

3、查看FTP服务是否启动

netstat -antup | grep ftp

显示结果如下说明服务已经启动成功

CentOS7系统搭建VSFTP服务

此时,vsftpd已默认开启匿名访问模式,无需通过用户名和密码即可登录FTP服务器,使用此方式登录FTP服务器的用户没有修改和上传文件的权限。

4、配置vsftpd,为FTP服务创建一个用户并设置该用户的密码

useradd ftpuser
passwd ftpuser

5、创建FTP服务使用的文件目录,修改该目录所属权限

mkdir /var/ftp/test
chown -R ftpuser:ftpuser /var/ftp/test

6、备份FTP配置文件,并提取默认配置信息

cp vsftpd.conf vsftpd.conf.bak
cat vsftpd.conf.bak | grep -v "^#" | grep -v "^$" > vsftpd.conf

7、使用vi命令打开FTP的配置文件

vi /etc/vsftpd/vsftpd.conf

8、修改配置文件参数,设置匿名用户和本地用户的登录权限,设置指定例外用户列表文件的路径,并开启监听 IPv4 sockets

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

9、注释 listen_ipv6=YES 配置参数,关闭监听 IPv6 sockets,开启被动模式,设置本地用户登录后所在目录,完成后保存退出

#listen_ipv6=YES
local_root=/var/ftp/test
allow_writeable_chroot=YES

10、创建并编辑 chroot_list 文件

vi /etc/vsftpd/chroot_list
输入需要登录使用的用户名,一个用户名占据一行

11、设置iptables防火墙,重启FTP服务

iptables -F
systemctl restart vsftpd

12、以上配置为被动模式传输,配置完成,下方为主动模式需修改的配置

anonymous_enable=NO      #禁止匿名用户登录
local_enable=YES         #支持本地用户登录
chroot_local_user=YES    #全部用户被限制在主目录
chroot_list_enable=YES   #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list  #指定用户列表文件,该列表中的用户不被锁定在主目录
listen=YES               #监听IPv4 sockets
#在行首添加#注释掉以下参数
#listen_ipv6=YES         #关闭监听IPv6 sockets
#添加下列参数
allow_writeable_chroot=YES
local_root=/var/ftp/test #设置本地用户登录后所在的目录

13、传输报错 553 Could not create file 解决方式

此报错一般为FTP使用目录没有权限或者selinux限制的原因,解决方式为给目录增加读写权限,关闭selinux

chmod 755 /var/ftp/test
setenforce 0









发布时间:2021-8-11 7:14 Wednesday
  • 版权声明:除非注明,文章均为【舞乂IT-专注于网络技术分享】原创,欢迎转载!转载请注明本文地址,谢谢!

  • 作者:舞乂IT-专注于网络技术分享

    舞乂人生,打造不一样的世界!共同学习,共同努力,提升技能!!!!!

    返回列表
    上一篇:
    下一篇: