一.FTP介绍

1.文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层 TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

2.FTP连接及传输模式

FTP服务器默认使用TCP协议的20,21端口与客户端进行通信。20端口基于建立数据连接,并传输文件数据:21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式被动模式

3.FTP用户类型

匿名用户(ftp)和本地用户

4.软件包-------->vsftpd

二访问FTP服务

1.匿名访问

宿主目录是/var/ftp,FTP根目录权限不允许匿名用户或其他用户有写入权限(否则会报505错误)

2.开启匿名用户配置并启动vsftpd

[root@localhost ~]# yum install vsftpd #安装ftp
[root@localhost ~]# chown ftp /var/ftp/pub/ #给/pub/写入权限,以便上传数据
vim /etc/vsftpd/vsfpd.conf

anonymous_enable=YES #允许匿名用户访问
write_enable=YES #开启服务器的写权限 --全局性的选项
anon_upload_enable=YES #允许匿名用户上传文件
anon_other_write_enable=YES #允许匿名用户其他的写入权限,包括删除,改名,上传目录
anon_mkdir_write_enable=YES #允许匿名用户创建目录

3.用户验证的FTP服务

A.基本的本地用户验证

vim /etc/vsftpd/vsftp.conf
locallocal_enable=YES  #开启本地用户权限
write_enable=YES #开启写权限
chroot_local_user=YES #开启所有的宿主目录紧固在器宿主目录中
B.使用user_list用户列表文件。(当vsftpd服务器开放了“loacl_emable”配置项以后,默认情况除了root外的所有系统用户都可以登陆此FTP服务器。若要对小部分系统用户开放FTP服务,则需要开放列表控制相关配置项。userlist_enable、usrlist_deny。
vim /etc/vsftpd/vsftpd/conf

chroot_local_user=YES #启用usr_list用户列表
chroot_list_enable=YES #不禁用user_list列表中的用户
vim /etc/vsftpd/user_list   #怎加可以访问FTP服务的本地成员
caoguoji
hunter
laya