FTP (RFC959)
1.FTP 支持断点续传,是应用层协议,基于TCP的一款协议,端口号为20,21号
21:控制连接,传信号
20:数据连接
数据传输分为主动传输与被动传输(此处是以服务器为参照物)
2.FTP使用者分为:
本地用户--real:即可上传又可下载
虚拟用户--guest:注册的帐号
匿名用户--anonymous:只能下载不能上传(默认)
3.主配置文件:
/etc/vsftpd/vsftpd.conf
不可访问FTP文件的用户名文件
/etc/vsftpd.ftpusers
可以访问FTP文件的用户名文件
/etc/pam.d/vsftpd
用户名文件,根据主配置中的设置来决定其作用
/etc/vsftpd.user_list
1) userlist_enable = yes 且 userlist_deny = yes 时不能访问FTP
2) userlist_enable = yes 且 userlist_deny = no 时可访问FTP
4.对匿名帐号的设置
anon_upload_enable = yes :只能上传
anon_mkdir_write_enable = yes :可创建目录的权限
anon_other_write_enable = yes :对自已上传的文件能做更删改
anon_world_readable_only = no :全局可读,能看很多人的
anon_max_rate = 20000 :匿名用户最大传速
anon_min_rate = 10000 :匿名用户最小传速
local_max_rate = 100000 :本地用户最大传速
5.禁止IP段访问
tcp_wrappers = yes --在主配置中修改
vi /etc/hosts.allow
vsftpd:123.12.12.12:DENY
6.VSFTPD 的安全与性能
客户端自动中断和激活连接时间
accept_timeout = 60
connect_timeout = 60
打开被动传输模式
pasv_enable = yes
被动传输模式服务号的范围
pasv_min_port = 50000
pasv_max_port = 60000
设置用户类型访问
max_clients = 100 :最大连接用户
max_per_ip = 2 :每个用户同时所用的线程数
禁止本地用户进行切换目录的权限
chroot_local_user = yes
限制指定的本地用户不能访问FTP
userlist_enable = yes
userlist_deny = yes
限制指定的本地用户可以访问FTP
userlist_enable = yes
userlist_deny = no
userlist_file = /etc/vsftpd.user_list
7.设置在此文件中的用户可以更改目录/etc/vsftpd.chroot_list
chroot_local_user = no
chroot_list_file = /etc/vsftpd.chroot_list
8.建立虚拟用户
vi users.txt 奇数行为:username 偶数行为:password
db_load -T -t hash -f users.txt /etc/vsftpd/users.db
chmod 600 /etc/vsftpd/users.db
vi /etc/pam.d/vsftpd "全部#上"
auth required pam_userdb.so db=/etc/vsftpd/users
account required pam_userdb.so db=/etc/vsftpd/users
useradd -d /home/ftpsite username
chmod 700 /home/ftpsite
vi /etc/vsftpd/vsftpd.conf
local_enable = yes
guest_enable = yes
guest_username = username