FTPFile TransferProtocol

         21/tcp:

 

文件共享服务:应用层,ftp

                   NFS:Network File System (RPC: Remote Procedure Call, 远程过程调用)

                   Samba:CIFS/SMB

 

FTP: tcp, 两个连接

         命令连接,控制连接:21/tcp

         数据连接:

                   主动模式:20/tcp

                   被动模式:端口随机

 

         数据传输模式(自动模式)

                   二进制:

                   文本:

                   ftpserver --> ftp client

 

 

This is a test file. -->

结构化数据

半结构化数据

非结构化数据

 

 

文本,二进制

         html,

         mp3,jpeg

 

 

服务器端程序:

         wu-ftpd

         vsftpd:Very Secure ftp Daemon

         proftpd:

         pureftpd

         Filezilla

         Serv-U

 

客户端程序:

         CLI

                   ftp

                   lftp

 

         GUI:

                   gftpd

                   FlashFXP

                   Cuteftp

                   Filezilla

 

vsftpd:

         /etc/vsftpd:配置文件目录

         /etc/init.d/vsftpd:服务脚本

         /usr/sbin/vsftpd:主程序

 

基于PAM实现用户认证:

         /etc/pam.d/*

         /lib/security/*

         /lib64/security/*

         支持虚拟用户

 

vsftpd: (ftp, ftp)

         /var/ftpftp服务根目录

 

上传和下载:

 

mail:

 

ftp: 系统用户

         匿名用户 --> 系统用户:anonymous_enable

         系统用户:local_enable

         虚拟用户 --> 系统用户

 

/var/ftp: ftp用户的家目录

         匿名用户访问目录

 

 

chroot: 禁锢用户于其家目录中

 

 

系统用户:

         write_enable=YES:上传文件

 

 

 

文件服务权限:文件系统权限*文件共享权限

 

 

守护进程:

         独立守护:适用于访问量大,用户在线时间长的用户

         瞬时守护

                   xinetd代为管理

 

vsftpd:

         max_clients=#

         max_per_ip=#

 

安全通信方式:

         ftps:ftp+ssl/tls

         sftp:OpenSSH, SubSystem, sftp(SSH)

 

 

vsftpd: PAM(手动定义配置文件)

         匿名

         本地

         虚拟用户

                   MySQL:VSFTPD, users Name,Password

                   /etc/vsftpd/vusers:--> db_load

                            USERNAME

                            PASSWORD

 

db4-utils

 

postconf –m

 

具体配置:

anon_upload_enable=YES

允许上传

anon_mkdir_write_enable=YES

允许创建文件、目录

anon_other_write_enable=YES

允许删除文件、目录

注意:只有ftp权限是远远不够的,必须同时打开本地文件系统的写权限。(两者必须同时具备时才可以执行相应的操作)

有一些特殊情况:windows上传文件到linux服务器时,上传的文件夹不会继承权限属性,文件夹内的内容已经上传了,但是看不到文件夹内的内容,删除时提示550。其本质是说我们没有对该文件夹的操作权限。需要更改目录权限。