Vsftpd
打开命令行,输入rpm -q vsftpd
Yum install vsftpd
配置文件名 |
功能 |
/usr/sbin/vsftpd |
vsftpd的主程序 |
/etc/rc.d/init.d/vsftpd |
启动脚本 |
/etc/vsftpd/vsftpd.conf |
主配置文件 |
/etc/pam.d/vsftpd |
PAM认证文件 |
/etc/vsftpd.ftpusers |
禁止使用vsftpd的用户列表文件 |
/etc/vsftpd.user_list |
禁止或允许使用vsftpd的用户列表文件 |
/var/ftp |
匿名用户主目录 |
/var/ftp/pub |
匿名用户的下载目录 |
/etc/logrotate.d/vsftpd.log |
vsftpd的日志文件 |
配置
1)匿名用户登录FTP
Ø 配置
安装完成后,service vsftpd start启动服务
Ø 测试
在XP下连接FTP,可以看到登陆成功,用户名为ftp,即为匿名用户,anonymous也为匿名用户,vsFTP默认的配置匿名用户就可登录
2)实名用户登录FTP
Ø 配置
mkdir -p /var/ftp/pub/yang:建立用户登录根目录
useradd -G ftp -d /var/ftp/pub/yang -M yang:建立实名用户
passwd zwb:设置实名用户登录密码
Ø 测试
3)只允许匿名登录,不允许实名登录
Ø 配置
l 修改配置文件
将local_enable=YES改为NO,保存退出
重启服务
Ø 测试
4)不允许匿名登录,只允许实名登录
Ø 配置
l 修改配置文件
将local_enable=NO改为YES,anonymous_enable=YES改为NO,退出保存
l 重启服务
Ø 测试
5)黑、白名单
Ø 黑名单
l 配置
修改配置文件
anonymous_enable=NO改为anonymous_enable=YES,还原初始配置
u 添加黑名单
Echo yang >> /etc/vsftpd/ftpusers
将yang用户追加进黑名单
l 测试
yang用户登录失败
Ø 白名单
l 配置
u 还原设置
Vim /etc/vsftpd/ftpusers
将上面追加进黑名单的用户yang移除并保存退出
u 设置白名单
Vim /etc/vsftpd/vsftpd.conf
添加userlist_deny=NO与userlist_file=/etc/vsftpd/user_list这2行
u 添加白名单
Echo yang >> /etc/vsftpd/user_list
除user_list里的用户外,都不可登陆
u 重启服务
l 测试
6)限制客户数
Ø 配置
l 还原设置
u 还原白名单
Vim /etc/vsftpd/user_list
将上面追加进黑名单的用户yang移除并保存退出
u 还原配置文件
去掉userlist_deny=NO与userlist_file=/etc/vsftpd/user_list
l 修改配置文件
Vim /etc/vsftpd/user_list
添加max_clients=1,指明最大客户连接数量为1
l 重启服务
Ø 测试
ftp用户登录成功,不要退出,再次开启一个命令行
在才开启的命令行上连接FTP,错误代码421,提示There are too many connected users,please try later(有太多的用户连接,稍后再试),使用zwb用户登录Connection closed by remote host(远程主机连接关闭)
7)
速率限制
Ø 匿名用户与实名用户速率限制
l 配置
u 还原设置
去掉max_clients=1
u 修改配置文件
local_max_rate=81920
Anon_max_rate=10240
单位为bytes,local_max_rate表示实名用户的下载速度,anon_max_rate表示匿名用户的下载速度
u 重启服务
l 测试
u 创建测试文件
dd if=/dev/zero of=get_test bs=126k count=1创建一个大小为126k的文件,用0填满,作为测试文件,实际创建了一个129k的文件
u 测试
Get get_test
yang用户用时为0.77Seconds,速率为168.44Kbytes/sec。ftp用户用时为6.20Seconds,速率为20.80Kbytes/sec
不同实名用户分等级下载限制
l 配置
u 还原设置
Vim /etc/vsftpd/user_list
去掉local_max_rate与anon_max_rate
u 添加用户
建立tong用户的用户根目录,添加tong用户,设置tong用户密码
u 修改配置文件
添加user_config_dir=/etc/vsftpd,设置用户配置目录
u 添加用户配置文件
n 为yang用户添加配置文件
Vim /etc/vsftpd/yang
n 为tong用户添加配置文件
Vim /etc/vsftpd/tong
Local_max_rate=10240
u 重启服务
l 测试
Get get_test
yang用户用时为0.78Seconds,速率为165.20Kbytes/sec。zzj用户tong用时为6.20Seconds,速率为20.80Kbytes/sec
8) 上传
Ø 匿名用户上传
l 配置
u 还原设置
Vim /etc/vsftpd/vsftpd.conf 把user_config_dir=/etc/vsftpd去掉
u 修改配置文件
取消anon_upload_enable=YES与anon_mkdir_write_enable=YES前的注释,添加anon_other_write_enable=YES,表示允许文件改名、删除.添加anon_world_readable_only =NO
u 权限配置
先开启selinux
chmod -R 777 pub:
将pub目录改为777的权限
chcon -R -t public_content_rw_t pub:
将pub目录的文件类型改为public_content_rw_t
getsebool -a | grep ftp:
查看sebool值中关于ftp的值
setsebool -P allow_ftpd_anon_write on:
修改sebool中allow_ftpd_anon_write的值为on
u 重启服务
l 测试
u 创建测试文件
u 测试
在f盘建立文件put_test.txt
Put f:\put_test.txt
匿名用户需要上传在pub目录下
Ø 实名用户上传
l 配置
u 还原设置
n 还原配置文件
Vim /etc/vsftpd/vstpd.conf
将anonymous_enable=YES注释
将anon_upload_enable=YES与anon_mkdir_write_enable=YES注释
n 还原sebool值
u 设置sebool值
u 设置用户根目录权限
将用户主目录/var/ftp/pub/zwb改成777的权限
u 重启服务
l 测试
9)更改默认共享目录
Ø 配置
l 还原设置
Vim /etc/vsftpd/vsftpd.Conf
Anonymous_enable=YES
l 修改配置文件
local_root=/home/yang
Anon_root=/home
l 重启服务
l 创建实名用户根目录
Mkdir -p /home/yang
l 修改目录类型
Chcon -R -t public_content_t home/
Ø 测试
l 创建文件
>/home/yang/A
>/home/B
l 测试
实名用户登录后ls可以看到文件A,证明在/home/zwb文件目录下,或者可以使用pwd命令,查看当前所在目录
匿名用户ftp登录后,ls可以看到文件B,证明在/home文件目录下