ftp:File Transfer Protocol
21/tcp:
文件共享服务:应用层,ftp
NFS: Network File System (RPC: Remote Procedure Call, 远程过程调用)
Samba: CIFS/SMB
FTP: tcp, 两个连接
命令连接,控制连接:21/tcp
数据连接:
主动模式:20/tcp
被动模式:端口随机
数据传输模式(自动模式):
二进制:
文本:
ftp server --> ftp client
数据类型:
结构化数据
半结构化数据
非结构化数据
服务器端程序:
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/ftp:ftp服务根目录
ftp:系统用户
匿名用户(anonymous) --> 系统用户:anonymous_enable
系统用户:local_enable
虚拟用户 -->系统用户
/var/ftp: ftp用户的家目录
匿名用户访问目录
chroot: 禁锢用户于其家目录中
系统用户:
write_enable=YES: 上传文件
文件服务权限:文件系统权限*文件共享权限
守护进程:
独立守护:适用于访问量大,用户在线时间长的用户
瞬时守护
由xinetd代为管理
vsftpd:
max_clients=# 最多允许同时多少个请求
max_per_ip=# 同一个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安装包提供password密码