构建vsftpd文件传输服务器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FTP:C/S结构的应用层网络协议。
连接方式:控制连接—21号端口,用于发送FTP命令信息
数据连接—20号端口,用于上传、下载数据
建立类型:主动模式—服务端从20号端口主动向客户端发起连接
被动模式:服务端在指定范围内的随机端口等待客户端发起连接传输模式:文本模式:ASCII模式,以文本序列传输数据。
二进制模式:Binary模式,以二进制序列传输数据。
用户类型:
匿名用户、本地用户、虚拟用户
vsftpd软件
服务名:vsftpd
用户名控制列表文件:/etc/vsftpd/ftpsers 用户黑名单
/etc/vsftpd/user_list 用户黑白名单
虚拟用户
1、创建一个用户账号及明文密码的文件a.txt—奇数行为用户名,偶数行为明文密码
2、生成一个账号密码数据库文件(需要使用db4-utils软件)b.db
3、创建本地用户,将Shell修改为nologin
useradd–s /sbin/nologin virtual
chmod 755 /home/virtual
4、创建PAM认证文件,vim /etc/pam.d/vsftpd.vu
内容:auth requird pam_userdb.so db=/etc/vsftpd/b
account requird pam_userdb.so db=/etc/vsftpd/b
5、修改主配置文件vsftpd.conf
guest_enable=YES 启用虚拟用户
guest_username=virtual虚拟用户对应的本地账号
pam_service_name=vsftpd.vu
6、为虚拟用户创建个人配置文件
主配置文件:/etc/vsftpd/vsftpd.conf
[root@RHarukavsftpd]# mvvsftpd.confvsf
[root@RHarukavsftpd]# grep -v "^$" vsf | grep -v "^#" >vsftpd.conf
需求描述:
1.采用FTP 虚拟用户的方式,添加三个用户devadm sales saleadm
2.用户访问及文件权限控制:
a)开放匿名访问,任何用户均可下载服务器/var/ftp/soft/ 目录中的软件资料;
b)用户devadm 可以对服务器/var/ftp/soft/ 目录进行管理(上传文件、创建目录、删除文件等);
c)用户sales 可以下载服务器/var/market/ 目录中的市场活动、销售方案等资料;
d)用户saeadm 可以对服务器/var/market/ 目录进行管理(上传文件、创建目录、删除文件等);
e)所有经FTP 账户上传的文件,均去除非属主位的写权限(即将权限掩码设置为022)
f)多服务器中没有明确授权的其他目录,均禁止以上用户访问
3.下载、上传流量及带宽控制:
a)最多允许150 个并发用户连接,每IP 并发连接数不超过5 个
b)匿名用户及sales 用户的下载带宽限制为100KB/s
c)devadm、saleadm 用户的下载、上传带宽限制为500KB/s
[root@RHaruka ~]# rpm -ivh /mnt/Server/db4-utils-4.3.29-9.fc6.i386.rpm 安装db4-utils软件[root@RHaruka ~]# mkdir /var/ftp/soft /var/market/etc/vsftpd/uso.config
[root@RHaruka ~]# vim a
[root@RHaruka ~]# db_load -T -t hash -f a b.db
[root@RHaruka ~]# vim /etc/pam.d/c
auth required pam_userdb.so db=/root/b
account required pam_userdb.so db=/root/b
root@RHaruka ~]#useradd–s /sbin/nologinuso
[root@RHaruka ~]#chmod 755 /home/uso
[root@RHarukauso.config]# chownuso /var/market
[root@RHarukauso.config]# chmwnuso /var/ftp/soft
[root@RHaruka ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=YES
listen=YES
guest_enable=YES
guest_username=uso
pam_service_name=c
user_config_dir=/etc/vsftpd/uso.config
anon_umask=022
max_clients=150 最大允许150个用户同时连接
max_per_ip=5 同一IP并发连接低于5个
anon_max_rate=100000 匿名用户下载带宽限制为100KB
[root@RHaruka ~]# cd /etc/vsftpd/uso.config/
[root@RHarukauso.config]# vimdevadm
local_root=/var/ftp/soft 设置宿主目录
anon_upload_enable=YES 开放上传权限
anon_mkdir_write_enable=YES 允许创建目录
anon_other_write_enable=YES 允许修改文件
anon_max_rate=500000 下载速度限制为500KB [root@RHarukauso.config]# vim sales
local_root=/var/market
anon_max_rate=100000
[root@RHarukauso.config]# vimsaleadm
local_root=/var/market
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=500000