您的当前位置:首页构建vsftpd文件传输服务器

构建vsftpd文件传输服务器

2022-02-26 来源:小侦探旅游网
FTP:C/S结构的应用层网络协议。

用户类型: 匿名用户、本地用户、虚拟用户

vsftpd软件

服务名:vsftpd 用户名控制列表文件:

虚拟用户

1、 创建一个用户账号及明文密码的文件a.txt—奇数行为用户名,偶数行为明文密码 2、 生成一个账号密码数据库文件(需要使用db4-utils软件)b.db 3、 创建本地用户,将Shell修改为nologin

useradd–s /sbin/nologinvirtual chmod 755 /home/virtual

4、 创建PAM认证文件,vim /etc/pam.d/vsftpd.vu 内容: auth requird pam_userdb.so account requird pam_userdb.so

5、 修改主配置文件vsftpd.conf

guest_enable=YES guest_username=virtual

db=/etc/vsftpd/b db=/etc/vsftpd/b

/etc/vsftpd/ftpsers /etc/vsftpd/user_list

用户黑名单 用户黑白名单

连接方式: 控制连接—21号端口,用于发送FTP命令信息 数据连接—20号端口,用于上传、下载数据 建立类型:主动模式—服务端从20号端口主动向客户端发起连接 被动模式:服务端在指定范围内的随机端口等待客户端发起连接

传输模式: 文本模式:ASCII模式,以文本序列传输数据。 二进制模式:Binary模式,以二进制序列传输数据。

启用虚拟用户

虚拟用户对应的本地账号

pam_service_name=vsftpd.vu

6、 为虚拟用户创建个人配置文件

主配置文件:/etc/vsftpd/vsftpd.conf

[root@RHarukavsftpd]# mvvsftpd.confvsf

[root@RHarukavsftpd]# grep -v \"^$\" vsf | grep -v \"^#\" >vsftpd.conf [root@RHarukavsftpd]# vimvsftpd.conf 作用范围 配置项及示例 anonymous_enable=YES anon_umask=022 anon_root=/var/ftp 匿名用户 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_max_rate=0 anon_world_readable_only=NO 含义说明 是否允许匿名访问 用户上传文件的默认权限掩码 匿名用户的FTP根目录 允许上传文件 允许创建目录 开放其它写入权(修改、重命名等) 限制最大传输速率(单位为字节) 给予读取权限(不仅仅是只读) 是否启用本地系统用户 本地用户上传的默认权限掩码 本地用户的FTP根目录 是否将用户禁锢在主目录 限制最大传输速率 是否以独立运行的方式监听服务 设置监听的IP地址 设置监听FTP服务的端口号 是否启用写入权限 是否允许下载文件 用户接环进入目录时显示.message的内容 local_enable=YES 本地用户 local_umask=022 local_root=/var/ftp chroot_local_user=YES local_max_rate=0 listen=YES listen_address=192.168.4.1 listen_port=21 write_enable=YES download_enable=YES dirmessage_enable=YES chroot_local_user=YES xferlog_enable=YES xferlog_std_format=YES 是否禁锢用户在其主目录下 启用xferlog日志 启用标准的xferlog日志格式 允许服务器主动模式 允许被动模式 设置被动模式的最大端口号 设置被动模式的最小端口号 用于用户认证的PAM文件认证 启用user_list列表文件 是否禁用user_list中的用户(即黑名单) 限制并发客户端的连接数 限制同一IP地址的并发连接数 是否启用TCP_Wrappers主机访问控制 启用虚拟用户 设置虚拟用户账号名 全局配置 connest_from_port=YES pasv_enable=YES pasv_max_port=24000 pasv_min_port=24500 pam_service_name=vsftpd userlist_enable=YES userlist_deny=YES max_clients=0 max_per_ip=0 tcp_wrappers=YES guest_enable=YES 虚拟用户 guest_username=virtual user_config_dir=/etc/vsftpd/vusers.config 设置用户配置目录位置

需求描述:

1. 采用FTP 虚拟用户的方式,添加三个用户devadm sales saleadm 2. 用户访问及文件权限控制:

a) b) c) d) e) f) a) b) c)

[root@RHaruka ~]# rpm -ivh /mnt/Server/db4-utils-4.3.29-9.fc6.i386.rpm [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 max_per_ip=5

最大允许150个用户同时连接 同一IP并发连接低于5个 匿名用户下载带宽限制为100KB

安装db4-utils软件

开放匿名访问,任何用户均可下载服务器/var/ftp/soft/ 目录中的软件资料;

用户devadm 可以对服务器/var/ftp/soft/ 目录进行管理(上传文件、创建目录、删除文件等); 用户sales 可以下载服务器/var/market/ 目录中的市场活动、销售方案等资料;

用户saeadm 可以对服务器/var/market/ 目录进行管理(上传文件、创建目录、删除文件等); 所有经FTP 账户上传的文件,均去除非属主位的写权限(即将权限掩码设置为022) 多服务器中没有明确授权的其他目录,均禁止以上用户访问 最多允许150 个并发用户连接,每IP 并发连接数不超过5 个 匿名用户及sales 用户的下载带宽限制为100KB/s

devadm、saleadm 用户的下载、上传带宽限制为500KB/s

3. 下载、上传流量及带宽控制:

anon_max_rate=100000

[root@RHaruka ~]# cd /etc/vsftpd/uso.config/ [root@RHarukauso.config]# vimdevadm

local_root=/var/ftp/soft anon_upload_enable=YES

设置宿主目录 开放上传权限 允许创建目录 允许修改文件

下载速度限制为500KB

anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_max_rate=500000

[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

因篇幅问题不能全部显示,请点此查看更多更全内容