FTP服务,用它可以将文件通过一台计算机传送到另一台计算机,它与两台计算机所在的位置、联系的方式以及使用的操作系统是没有关系的。
FTP是TCP/IP应用层上的一种具体应用。工作在OSI模型的应用层。
FTP使用传输层的TCP协议,它建立的就是一个面向连接可靠的链路。
FTP基于C/S模式的,它有两个端口,一个是作为控制连接端口21,用于发送指令给服务器以及等待服务器响应;一个是作为数据传输端口20,用于建立数据传输通道。
FTP传输模式
1、ASCII传输模式,即文本传输模式。
2、二进制传输模式
指在文件的传输过程中保存文件的位序一致,并原始与拷贝一一对应。
对于传送可执行文件、压缩、图片文件,就必须使用二进制模式。
本人这次在RHEL Server 5.4系统中假设的FTP服务器是参照官方文档采用当下最为流行的VSFTP(Very Secure FTP)服务器软件。可以看出此款软件的出发点就是其安全性,稳定性。
以RPM包方式安装
测试VSFTP
在 /var/ftp/pub目录下建立名为test.txt的文件,文件内容为“test vsftp”
用匿名账号登陆本地主机,下载test.txt 文件到本机。查看本机内容ftp>! ls 命令
VSFTP文件目录结构
/usr/sbin/vsftpd VSFTPD的主程序
/etc/rc.d/init.d/vsftpd 启动VSFTP的脚步
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/pam.d/vsftpd PAM认证文件
/etc/vsftpd.ftpusers 禁止使用VSFTPD的用户列表文件
/etc/vsftpd.user_list 禁止或允许使用VSFTPD的用户列表文件
/var/ftp 匿名用户主目录
/var/ftp/pub 匿名用户的下载目录
/etc/logrotate.d/vsftpd.log 日志文件
配置ftpusers
ftpusers使用来记录那些不允许登陆FTP服务器的用户,一般是一些系统默认账户。
匿名账号可以使用ftp或anonymous,但不允许/etc/ftpusers 文件列表中的用户登陆。
使用ftp 登陆服务器
/usr/sbin/setsebool -P ftp_home_dir=1