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
- 打开
Windows 资源管理器
,上方输入ftp://172.18.2.32/
,回车。 - 输入步骤二设置好用户名和密码进入。默认进入目录
/home/ftpuser
- 若想操作其它目录,需注意该目录权限问题,可通过
chmod -R 777 /xxx/xxx
授权
十、新增用户
1.新增用户ftptest
useradd ftptest
2.创建用户目录
mkdir -p /home/ftptest
3.为用户目录授权
chmod -R 755 /home/ftptest
4修改用户密码
passwd ftptest