FTP主要分为主动模式和被动模式
基于TCP的20和21号端口
20端口主要用来传输数据的
21端口主要是用来传输信令的(三次握手和验证)
主动连接:20端口主动连接客户端的N端口
被动连接:客户端的端口跟服务器的21号端口进行连接,然后服务器的20端口与客户端的端口进行连接
配置步骤如下
1:安装vsftpd所需要的安装包
yum install vsftpd -y
2:进入vsftpd的配置目录
Cd /etc/vsftpd
3:进入配置文件
Vimvsftpd.conf
第一个白线的意思是
以匿名用户来进行访问
第二个白线的意思是
可以利用本地用户登录FTP
第三个白线的意思是
允许本地用户有写得权限
第四个白线的意思是
本地用户所拥有的权限
第五个红线的意思是
允许匿名用户上传
第六个红线的意思是
允许上传
Iptables -F 清除所有规则
如果不允许 则建立不了FTP的连接
Setenforce 0 临时更改强制访问控制规则
如果设置为默认,则本地用户无法登陆
或者
为了解决不需要更改强制访问控制规则,linux中是有这样的一个模块的
列出所有selinux bool数值清单列表与内容
Getsebool -a|grep ftp
Ftp_home_dir --> off
不允许任何普通用户用FTP登陆进自己的家目录
Setsebool ftp_home_dir on 开启
ftp上传的两种模式
Ascii 文本文件使用
Bin 图片等不可编辑的文件使用
匿名用户登录的ftp默认保存在var/ftp,而这个文件夹的所有者是ftp
通过创建一个文件夹为wanlei,设置它 的所有者为匿名用户
Mkdir var/ftp/wanlei 在该文件夹下创建wanlei文件夹
Chown ftp:ftp var/ftp/wanlei 更改文件的所有者
ls -ld /var/ftp/wanlei 查看该目录的所有者
这时候发现还是不能够上传文件夹,可能是selinux的问题,还需要更改布尔值
Setsebool allow_ftpd_anon_write on
测试之后发现windows主机下C盘目录下的文件无法上传,而上传的D盘目录下能够上传文件夹时,能够下载。而上传文件,下载文件时却不能成功,不能修改,不能删除。