FTP:File Transfer Protocol
data连接 get
control连接 ls、cd
主动模式 port
服务器通过20端口去连接客户端(>3000端口),客户端给予响应
被动模式 pasv
服务端告诉客户端已经打开某个端口可以进行连接(通过一个大于1023的端口连接21)
软件:
Windows
Serv-U
IIS
Filezilla
Linux
Filezilla
Vsftpd
wu-ftpd
proftpd
pureftpd
vsftpd
二进制文件:/usr/sbin/vsftpd
脚本:/etc/init.d/vsftpd
ports:21/tcp(ftp),20/tcp(ftp-data)
/etc/vsftpd/vsftpd.conf 600,root,root
/etc/vsftpd/ftpusers 600,root,root 定义不能登录ftp服务的用户
/etc/pam.d/vstpd 644.root,root
Related:tcp_wrappers,ip_conntrack_ftp,ip_nat_ftp
vsftpd.conf
write_enable 是否允许本地用户上传
local_umask=022 本地用户上传文件时掩码
anon_upload_enable 匿名上传文件
anon_mkdir_write_enable 匿名创建目录
anon_other_write_enable 其他权限应用、删除
dirmessage_enable=YES 欢迎信息
message_file=.message
xferlog_enable 传输日志
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO 记录命令操作日志
log_ftp_protocol=YES
chroot_local_user=YES 禁锢用户家目录
chroot_list_enable=YES 禁锢user_list中的用户
vim /etc/vsftpd/user_list
anon_max_rate 限制匿名用户上传下载速率
local_max_rate 限制本地用户上传下载速率
userlist_enable=YES 启用/etc/vsftpd/user_list文件
userlist_deny=YES|NO 允许/拒绝/etc/vsftpd/user_list中的用户
selinux
getsebool -a | grep ftp
setsebool -P allow_ftpd_anon_write 1
setsebool -P ftp_home_dir 1
lftp
lftp -u student 192.168.0.88
help
rm