Centos7搭建vsftp服务器

一、安装vsftpd组件

yum -y install vsftpd

二、添加一个ftp用户

此用户就是用来登录ftp服务器用的。命令如下:

useradd ftpuser

这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为/home/ftpuser

三、 给ftp用户添加密码

执行以下命令,设置密码。命令如下:

passwd ftpuser

四、关闭防火墙

ftp默认的端口为21,而centos默认是没有开启的。所以需要修改防火墙文件,添加开启21端口配置。本文以直接关闭防火墙为例。命令如下:

systemctl stop firewalld.service    #停止firewall
 systemctl disable firewalld.service #禁止firewall开机启动
 firewall-cmd --state                #查看默认防火墙状态

五、修改selinux开启外网的访问

1)查看状态。命令如下:

getsebool -a | grep ftp

2)状态显示:

getsebool -a | grep ftp  
 allow_ftpd_anon_write --> off
 allow_ftpd_full_access --> off
 allow_ftpd_use_cifs --> off
 allow_ftpd_use_nfs --> off
 ftp_home_dir --> off
 ftpd_connect_db --> off
 ftpd_use_passive_mode --> off
 httpd_enable_ftp_server --> off
 tftp_anon_write --> off


3)执行以下两条命令,开启外网的访问。命令如下:

setsebool -P allow_ftpd_full_access=on 
setsebool -P tftp_home_dir=on

六、关闭匿名访问

1)修改/etc/vsftpd/vsftpd.conf文件。命令如下:

vim /etc/vsftpd/vsftpd.conf

anonymous=NO

关闭ipv6访问,默认ipv4访问

listen=YES

listen_ipv6=NO

限制用户只能访问自己目录

chroot_local_user=YES
allow_writeable_chroot=YES

2)重启ftp服务。命令如下:

systemctl restart vsftpd

七、开启被动模式

默认是开启的,但是要指定一个端口范围,打开/etc/vsftpd/vsftpd.conf文件,在后面加上

pasv_min_port=30000 pasv_max_port=30999

表示端口范围为30000~30999,这个可以随意改。改完重启一下vsftpd

systemctl restart vsftpd

由于指定的这段端口范围默认是没有开启的,所以防火墙若

  • 采用开放端口方式:相应的开启这个范围端口
  • 直接关闭方式:不理会

八、设置开机启动vsftpd ftp服务

systemctl enable vsftpd.service

九、访问ftp

  1. 打开Windows 资源管理器,上方输入ftp://172.18.2.32/,回车。
  2. 输入步骤二设置好用户名和密码进入。默认进入目录/home/ftpuser
  3. 若想操作其它目录,需注意该目录权限问题,可通过chmod -R 777 /xxx/xxx授权

十、新增用户

1.新增用户ftptest

useradd ftptest

2.创建用户目录

mkdir -p  /home/ftptest

3.为用户目录授权

chmod -R 755 /home/ftptest

4修改用户密码

passwd ftptest