用户名: 密码: 忘记密码? 注册

vsftpd高级配置

作者:  时间: 2010-11-21

Vsftpd的高级配置案例:

公司为了宣传最新的产品信息,计划搭建FTP 服务器,为客户提供相关文档的下载。对所有权互联网开放共享目录,允许下载产品信息,禁止上传。公司的合作单位能够使用FTP 服务器进行传和下载,但不可以删除数据。并且保证服务器的稳定性

需求分析

根据企业的需求,对于不同用户进行不同的权限限制,FTP 服务器需要实现用户的审核。需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。

1.创建用户数据库

(1)创建用户文本文件  (ftp,vip)

#touch /etc/vsftpd/vsftpd_virtualuser.txt

#vim vsftpd_virtualuser.txt

ftp

Redhat

Vip

Redhat

(2)生成数据库

#yum install db4-utils-4.3.29-9.fc6.i386.rpm    安装db_load命令

#db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt /etc/vsftpd/vsftpd_virtualuser.db

(3)修改数据库文件的访问权限(防止非法访问)

#chmod 600 /etc/vsftpd/vsftpd_virtualuser

2.配置PAM文件

为了服务器能够使用数据库文件对客户端进行身份验证

#vim /etc/pam.d/vsftpd

将默认配置使用#全部注释

添加:

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

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

3.创建虚拟帐号对应的系统用户

将两个帐号的目录进行隔离,控制用户的文件访问. ftp对应系统帐号ftpuser  家目录:/var/ftp/share

Vip 对应系统帐号 ftpvip 家目录:/var/ftp/vip

#useradd -d /var/ftp/share/ ftpuser

#useradd -d /var/ftp/vip/ ftpvip

#chmod -R 500 /var/ftp/share

#chmod -R 700 /var/ftp/vip

4.建立配置文件(由于多个虚拟帐号的不同权限,为每个虚拟帐号建立独立的配置文件)

#vim vsftpd.conf

anonymous_enable=NO

local_enable=YES

添加

chroot_local_user=YES (将所有本地用户限制在家目录中)

pam_service_name=vsftpd  配置vsftpd使用的PAM模块为vsftpd

user_config_dir=/etc/vsftpd/vuserconfig 设置虚拟帐号的主目录为 /vuserconfig

max_clients=300 设置FTP最大接入的客户端数为300个

max_per_ip=10 设置每个IP地址最大连接数为10

5.建立虚拟帐号的配置文件

#mkdir /etc/vsftpd/vuserconfig

#touch /etc/vsftpd/vuserconfig/ftp

#touch /etc/vsftpd/vuserconfig/vip

#vim /etc/vsftpd/vuserconfig/ftp

guest_enable=yes 开启虚拟帐号登录

guest_username=ftpuser 设置ftp对应的系统帐号为ftpuser

anon_workd_readable_only=no 允许匿名用户浏览整个服务器的文件系统

anon_max_rate=50000     限定传输速率为50KB/s

#vim /etc/vsftpd/vuserconfig/vip

guest_enable=yes

guest_username=ftpvip

anon_world_readable_only=no

write_enable=yse 允许文件系统可写

anon_mkdir_write_enable=yes  允许创建文件夹

anon_upload_enable=yes  开启匿名帐号上传功能

anon_max_rate=100000  限定传输速度为100KB/s

开启禁用SElinux 的FTP 传输审核功能

setsebool -P ftpd_disable_trans on

允许用户删除:eg 在VIP中添加

anon_other_write_enable=yes:允许其他权限比如重命令、删除文件及文件夹