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