06
2011
01

构建vsftpd文件传输服务器

实验环境

   根据公司的开发部门和市场部门的业务发展要求,需要面向Internet搭建一台FTP文件服务器,以提供公测版本、市场资料的下载与上传、文件管理等应用,同时要对用户访问和下载/上传流量进行控制。考虑到服务器的运行效率及稳定、安全性,选择在RHEL5操作系统中构建VSFTPD服务器实现。

需求描述

采用FTP虚拟用户的方式,添加三个FTP虚拟用户devadmsalessaleadm

设置用户访问及文件权限控制:

 开放匿名访问,任何用户可以从/var/ftp/soft/目录下载资料

 用户devadm可以对/var/ftp/soft/目录进行管理

 用户sales可以从/var/market/目录下载资料

 用户saleadm可以对/var/market/目录进行管理

 所有上传的文件,均去除非属主位的写(w)权限

 对服务器中没有明确授权的其他目录,均禁止以上用户访问

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

 最多允许150个并发用户连接,每IP并发连接数不超过5

 匿名用户及sales用户的下载带宽限制为100KB/

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

具体配置

[root@localhost ~]# alias vi=vim                           

[root@localhost ~]# mount /dev/cdrom /media/                挂载光盘

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost ~]# rpm -ivh /media/Server/vsftpd-2.0.5-16.el5.i386.rpm     安装vsftpd服务

warning: /media/Server/vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:vsftpd                 ########################################### [100%]

[root@localhost ~]# rpm -ivh /media/Server/db4-utils-4.3.29-10.el5.i386.rpm    安装db工具

warning: /media/Server/db4-utils-4.3.29-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:db4-utils              ########################################### [100%]

[root@localhost ~]# cd /etc/vsftpd/                           

[root@localhost vsftpd]# vi vuser.txt                   添加虚拟账户访问的用户名和密码

devadm                                           奇数行为用户名

123                                               偶数行为密码

sales

123

saleadm

123

:wq                                              保存退出

[root@localhost vsftpd]# db_load -T -t hash -f vuser.txt vuser.db 将账号文件转化成数据库文件

[root@localhost vsftpd]# chown 600 /etc/vsftpd/vuser.*       更改用户账号密码的文件权限

[root@localhost vsftpd]# useradd -d /var/market -s /sbin/nologin virtual   添加虚拟用户

[root@localhost vsftpd]# cp /usr/share/doc/vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd.vu  PAM认证样本文件复制到/etc/pam.d/vsftpd.vu

[root@localhost vsftpd]# vi /etc/pam.d/vsftpd.vu        编辑pam认证文件

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser          

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

:wq

[root@localhost vuser_dir]# vi devadm                编辑devadm用户权限

local_root=/var/ftp/soft                             指定FTP根目录

write_enable=YES                                 允许写入

anon_mkdir_write_enable=YES                      允许创建文件夹

anon_upload_enable=YES                          允许上传

anon_other_write_enable=YES                       允许其它写入权限

anon_max_rate=102400                             设定最大下载带宽

:wq

 

[root@localhost vuser_dir]# vi sales                  编辑sales用户权限

anon_max_rate=500000

local_root=/var/market

:wq

[root@localhost vuser_dir]# vi saleadm           编辑saleadm用户权限

anon_max_rate=500000

write_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_upload_enable=YES

local_root=/var/market

:wq

[root@localhost vuser_dir]# vi /etc/vsftpd/vsftpd.conf    编辑主配置文件

anonymous_enable=YES                           允许匿名用户访问

local_enable=YES                                允许本地用户访问

local_umask=022                                 本地用户创建文件掩码

dirmessage_enable=YES                            用户切换目录提示信息

xferlog_enable=YES                              启用xferlog日志

connect_from_port_20=YES                        允许服务器主动模式

listen=YES                                      是否独立用行方式监听服务

pam_service_name=vsftpd.vu                       PAM认证文件位置

userlist_enable=YES                             是否启用user_list文件列表

tcp_wrappers=YES                              是否启用tcp_wrappers主机访问

anon_max_rate=102400                          匿名用户最大下载带宽

guest_enable=YES                               启用用户映射功能

guest_username=virtual                            将映射用户指定为virtual

user_config_dir=/etc/vsftpd/vuser_dir                指定用户配置目录位置

anon_umask=022                                虚拟用户上传文件的默认权限掩码

anon_root=/var/ftp/soft                           匿名用户的FTP根目录

max_per_ip=5                                  相同IP最多允许5个并发连接

max_clients=50                                同时允许50个客户端同时连接

:wq

 

[root@localhost vuser_dir]# mkdir /var/ftp/soft        创建/var/ftp/soft目录

[root@localhost vuser_dir]# chown virtual /var/ftp/soft     更改/var/ftp/soft目录属主

 

[root@localhost vuser_dir]# service vsftpd start        启动vsftpd服务

vsftpd 启动 vsftpd                                    [确定]

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。