两种模式
主动模式:
FTP Server监听端口: 21 + 20
开启主动模式
port_enable=YES //开启主动模式
connect_from_port_20=YES //开启
pasv_enable=NO //关闭被动模式
说明:
Server主动使用20建立的链接,防火墙不会拦截
防火墙的模式:链接建立成功的通道不会拦截
被动模式:
默认是被动模式
FTP Server监听端口:21 + 随机端口(可以固定端口,限制端口范围)
固定数据端口:
vim /etc/vsftpd/vsftpd.conf //编辑vsftpd配置文件
connect_from_port_20=NO //关闭主动模式的20端口
pasv_enable=YES //开启被动模式
pasv_min_port=5001 //最小端口
pasv_max_port=5001 //最大端口
实体用户
默认权限:
下载、上传、改名、创建、没有chroot
配置chroot
chroot_local_user=YES //开启chroot功能
allow_writeable_chroot=YES //必须开启此命令才能正常开启chroot
说明:
1. chroot行为:
USER登陆后会显示“/”,实则是“/home/USER/"的目录
即:chroot将:用户显示的”/“ -----链接-----”/home/USER/“
2. 所有实体用户都会执行chroot行为
chroot_local_user=YES //开启chroot功能
allow_writeable_chroot=YES //必须开启此命令才能正常开启chroot
chroot_list_enable=YES //指定开启chroot的用户
#(default follows)
chroot_list_file=/etc/vsftpd/chroot_list //列表文件所在的位置
说明:
1. 只有在/etc/vsftpd/chroot_list的用户不会执行chroot行为。
2. 不在/etc/vsftpd/chroot_list的用户会执行chroot行为
3. chroot_list_file文件内容:一个用户占用一行
allow_writeable_chroot=YES //必须开启此命令才能正常开启chroot
chroot_list_enable=YES //指定开启chroot的用户
#(default follows)
chroot_list_file=/etc/vsftpd/chroot_list //列表文件所在的位置
说明:
1. 在/etc/vsftpd/chroot_list的用户会执行chroot行为
2. 不在/etc/vsftpd/chroot_list的用户不会执行chroot行为
3. chroot_list_file文件内容:一个用户占用一行
实体用户的禁止登陆
1. 采用vsftpd的黑白名单
userlist_enable=yes
userlist_file=/etc/vsftpd/user_list
vim /etc/vsftpd/user_list //只要存在user_list文件内的用户会被禁止登陆
2. 采用PAM模块
pam_service_vsftpd
vim /etc/pam.d/vsftpd 中指定使用的文件目录(禁止登录用户的文件)
/etc/vsftpd/ftpusers中存在的用户会被禁止登陆
限制速率
local_max_rate=1000000
限制客户端数目
max_clients=10
限制每个IP登录的数
max_per_ip=1
上传文件的默认UMASK值
local_umask=022
说明:
创建的文件最后的权限为:777-022 = 755
匿名用户
默认行为:
1. 允许登录
匿名用户名anonymous或ftp,无密码登陆
2. 允许下载
Server上的文件,Others 必须具有可读权限,才能被下载(chmod o+r /home/USER/文件)
3. Client端:远程登录/pub
4. 匿名用户使用chroot行为
将 “ / ” ——> chroot 绑定到 “ /var/ftp ”。
作用:匿名用于无法访问除 ”/var/ftp下的所有目录“ 之外的目录
设置上传
#前提条件:
#匿名用户访问的文件目录:拥有者必须是匿名用户
#匿名用户访问的上层文件:拥有者必须是root用户
anonymous_enable=YES //允许匿名
write_enable=YES //允许可写
anon_upload_enable=YES //允许上传
anon_mkdir_write_enable=YES //创建目录的权限
anon_other_write_enable=YES //默认是没有,开启后的权限(重命名之类的)
限制速率
#限制上传/下载速率
anon_max_rate=1000000 //限制速率
限制登录客户端数目
max_clients=1 //设置最大并发连接数
限制IP地址所登录数目
max_per_ip=1 //每个IP登录的客户端数
umask值
#默认066
anon_umask=022 //设置匿名的umask值
说明:
umask值用于:上传的文件所分配的权限。
计算方法:文件权限 = 777-umask
设置登录信息
banner_file=/etc/vsftpd/welcom.txt //指定登录显示信息的文档
vim /etc/vsftpd/welcom.txt //编辑welcom.txt信息
无密码验证
no_anon_password=YES //设置无密码登录
身份变更
#匿名用户上传后文件所属者更改
chown_uploads=YES //开启上传用户
chown_username=USER //设置审核员
Guest用户
//配置config文件
vim /etc/vsftpd/vsftpd.conf
guest_enable=YES //启用Guest用户
guest_username=USER //Guset用户是谁
//创建映射文件
vim /etc/vsftpd/vuser.txt
USER1 //用户名
1 //密码
USER2 //用户名
2 //密码
// 把用户的映射的文本文件,转成数据库文件
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
//编辑PAM文件,加入相应的DB文件目录
vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
//重启服务
systemctl restart vsftpd
说明:
Guest的作用:使用USER1登录进行操作的文件,结果在USER2的家目录下
_________个人笔记__以后查看使用____若能帮助读者___倍感荣幸_______