一、FTP服务
FTP服务:file transfer protocol :文件传输协议。在网络上进行双向传输,也是一个应用程序。不同的操作系统有不同的FTP软件,但使用的协议是一样的。
FTP协议基于TCP协议,有两个端口,即20和21。
20端口:建立数据连接,数据传输
21端口:连接控制,传输FTP的控制命令
FTP服务端和客户端,建立连接后,FTP是双向进行的传输
FTP建立数据连接的模式
主动模式:服务器主动向端口发起数据连接
被动模式:服务器等待客户端发起连接
被动模式更容易穿越防火墙,默认就是被动模式。
二、FTP服务
2.1 vsftpd服务
vsftpd的安装和配置
![](https://img-blog.csdnimg.cn/direct/5478c64b74e94f3db369cf2dc1d5b2ed.png)
在对vsftpd修改配置前,先备份配置文件
![](https://img-blog.csdnimg.cn/direct/24da7ec185d64be2aca8ebf06b5346f1.png)
vim /etc/vsftdpd/vsftpd.conf编辑配置文件
![](https://img-blog.csdnimg.cn/direct/f99b7a8ea28f48729acc60c1969c45cb.png)
2.2 匿名用户配置
2.2.1 服务端配置
vim /etc/vsftpd/vsftpd.conf编辑配置文件
![](https://img-blog.csdnimg.cn/direct/467114f024f84f4b9fb6e2aedb3fb3df.png)
重启vsftpd服务,关闭防火墙和安全机制
![](https://img-blog.csdnimg.cn/direct/e2772e19462a4c03a5680e99a26727be.png)
匿名用户的默认根目录是 /var/ftp/pub,对该目录赋权777
![](https://img-blog.csdnimg.cn/direct/159cc61860084e79b28b6ebc66e1a3ad.png)
2.2.2 匿名访问测试
![](https://img-blog.csdnimg.cn/direct/ffacf5bdd50b4b7fb2381e87efc690f0.png)
在windows系统打开开始菜单,输入cmd命令打开命令提示符
![](https://img-blog.csdnimg.cn/direct/dd6227e4dd494d0881831f59db373106.png)
在实际生产过程中,由于匿名用户权限过高,可靠性低,存在安全隐患,所以都会禁止匿名用户登录。
2.3 系统用户配置登录
2.3.1 设置本地用户可以访问FTP,禁止匿名用户登录
![](https://img-blog.csdnimg.cn/direct/a2a2784dc6f849d88bd373254b498956.png)
重启vsftpd服务,在 /opt 目录下,
![](https://img-blog.csdnimg.cn/direct/feb0c59c47974e70acd2348c607d1d0b.png)
在windows系统打开开始菜单,输入cmd命令打开命令提示符,登录用户test1
![](https://img-blog.csdnimg.cn/direct/6bbf1d150e9b474e9a2ea487018ec7ec.png)
在windows用户文件中可以看到test.txt文件,内容为hello,world!
2.3.2 对本地用户切换目录进行限制
![](https://img-blog.csdnimg.cn/direct/f79b112288454438bdb848c2fde28539.png)
重启服务即可,系统用户登录时,把用户禁锢在家目录,系统用户只能在自己的家目录操作,包括root用户。
2.4 黑名单和白名单
黑名单:在名单上的不允许登录,允许所有,拒绝个别
白名单:只有在名单上的才允许登录,拒绝所有,允许个别(常用)
编辑黑名单和白名单相关配置在配置文件 /etc/vsftpd/vsftpd.conf 的最下方
2.4.1 黑名单
黑名单默认开启
![](https://img-blog.csdnimg.cn/direct/b95841c8e1ba4c5d8116dee2d5b384a6.png)
用户列表文件 :/etc/vsftpd/userlist ,控制用户访问,修改文件,添加黑名单,不用重启,立刻生效
2.4.2 白名单
设置白名单只要修改下行
![](https://img-blog.csdnimg.cn/direct/434b3db42a254963bcdc8e6a0dc8325f.png)
userlist_deny改成NO后,即为白名单
修改配置文件需要重启服务
此时用户列表文件/etc/vsftpd/userlist内容为白名单
特别注意:在/etc/vsftpd/ftpusers里记录的用户,即使在白名单上也不能登录,这个文件相当于白名单里的黑名单。
要想使用root用户,把ftpusers里面的root用户注销掉即可
2.5 FTP命令与工具
![](https://img-blog.csdnimg.cn/direct/e677da6743f6456284dd28cbcb6e9128.png)