文件传输协议 --用于文件共享(双向传输),现在正在慢慢淘汰
功能:两台主机在建立连接后,客户端基于ftp协议向服务器实现文件的上传和下载(文件传送)
ftp使用tcp中20和21端口
其中命令端口为21,数据端口为20
传输方式:ASCII和而二进制
实现:
1.主动模式:
先是客户端向服务器请求连接,客户端采用随机端口链接至服务器21的命令端口,然后服务器返回一个响应包,再由20端口将客户端请求的数据发送至客户端请求时的随机端口加一的端口,但容易被客户端的防火墙阻截(主动模式的弊端),若客户端端口开放并收到数据将向服务器的20端口发送一个确认包。
2.被动模式:
同样是客户端用一个随机端口先向服务器21端口发送请求包请求连接,服务器收到后返回一个响应包,但接着什么都不做,客户端收到响应后会再由另一个端口将想要请求的数据即想上传或下载的文件发送给服务器,但并不是发送到20的数据端口而是副武器的一个未知端口,不过服务器的防火墙对此端口的开放性未知,多不开放,易被阻截请求(被动的弊端),若收到请求则返回数据给客户端,客户端收到后返回一个确认包
两种模式的弊端即为ftp被逐渐淘汰的原因
ftp有三种用户:
1.本地用户:在ftp服务器拥有实际账号,可以登录ftp服务器到共享的目录下,一般到账号对应的目录,不过可以切换到其他目录。相当于会员
2.虚拟用户:基于拥有实际账号的本地用户产生的子用户,只能访问其主目录下的目录,无法切换至其他目录。相当于给一个账号起个别名,可以起多个,只是权限受到一定限制
3.匿名用户:没有账号,能够查看一些开放的文件。
配置文件/etc/vsftpd/vsftpd.conf
chroot_loacl_user=YES chroot_list_enable=YES 设置用户是否可以切换目录
chroot_list_enable相当于用于产生一个名单,YES表示产生,NO为不产生
chroot_local_user相当于设置名单里面的用户是否能切换目录,YES为可以切换
当不产生名单时,则能否切换目录则是对所有用户反向设置,即YES为不可以切换
FTP原理
最新推荐文章于 2024-06-24 16:25:03 发布