RHEL5下vsftpd服务器的配置与研究

时间:2022-10-18 08:35:46

RHEL5下vsftpd服务器的配置与研究

摘 要:目前运行在常用Linux系统中的FTP服务器主要有wu-ftpd、proftpd和vsftpd等。vsftpd以其高安全性、完善的功能和突出的特性成为Linux系统中最突出的FTP服务器。本文基于RHEL5平台,从vsftpd的基本配置和虚拟用户着手,讲述了如何配置出简单有效的vsftpd服务器。

关键词:RHEL5;Linux;vsftpd;虚拟用户

中图分类号:TP393.05

1 vsftpd服务器的介绍

FTP是最常见的网络服务器之一,大多数的Linux操作系统都内置有强大的FTP服务器软件。vsftpd 是Red Hat Enterprise Linux 5内置的FTP服务器软件,与同类型的wu-ftpd和proftpd相比,vsftpd服务器具有很多优良的特性,比如:较高的安全性、较好的带宽限制、良好的可伸缩性、创建虚拟用户的可行性、IPV6的支持性等。

2 启动vsftpd服务器

RHEL5中查询vsftpd安装情况 #rpmqa|grep vsftpd

RHEL5中启动vsftpd服务器 #service vsftpd start

RHEL5中关闭vsftpd服务器 #service vsftpd stop

配置该服务器首先需要打开监听端口,监听端口可以在/etc/services中查看,管理员可以使用iptables命令打开系统的20号和21号端口。

3 vsftpd服务器的基本配置

Linux系统中vsftpd服务器的主配置文件位于/etc/vsftpd/vsftpd.conf,该文件主要负责匿名服务器的配置、非匿名服务器的配置、虚拟用户服务器的配置三大功能,下面对该服务器的配置文件做简要介绍。

3.1 设置服务器是否允许匿名用户访问

Anonymous_enable=yes

该项控制vsftpd服务器的匿名用户访问。该项为yes,则vsftpd服务器允许用户匿名访问。匿名用户默认情况下访问服务器的/var/ftp目录。该项为no,则必须设置相应的本地用户,做为客户端的登陆用户。

3.2 设置服务器是否允许匿名用户上传文件

Anon_upload_enable=yes

该项控制vsftpd服务器的匿名用户上传权限。该项为yes,匿名用户还需要有两个条件,才能向服务器上传,即Write_enable选项的参数为yes,并且在文件系统中匿名用户对某个目录具有写权限。该项为no,匿名用户不具备上传权限。

3.3 设置匿名用户是否可以在服务器中创建目录

Anon_mkdir_write_enable=yes

该项控制匿名用户在服务器中创建、删除目录的权限。匿名用户可以执行该功能,还必须对服务器中的目录具备写权限。

3.4 设置本地用户的访问权限和访问目录

Local_enble=yes

Local_root=/home/private

该项控制本地用户能否访问服务器,在服务器中访问哪个目录文件。Local_root选项默认对应本地用户的根目录,如果Local_root选项定义为其它目录,则本地用户登陆服务器会切换到相对应的目录。

3.5 设置服务器安全等参数

vsftpd服务器必须设置相应的安全参数,因为客户端过大的带宽、过多的访问量等因素会影响服务器的正常运行。安全参数有:空闲时间、传输率、端口、最大连接数等。

设置数据空闲中断时间Data_connection_timeout=120(秒)

设置本地用户传输率 Local_max_rate=80000(bit)

设置匿名用户传输率 Anon_max_rate=50000(bit)

设置最大连接数 Max_clients=256

设置每IP最大连接数 Max_per_ip=5

设置数据连接端口 Listen_port=5555

4 vsftpd服务器配置案例

通常FTP服务器的登陆用户为系统的注册用户,登陆用户容易暴露系统的安全性问题。基于虚拟用户的PAM是一套身份验证共享库,它被限定用于特定用户的访问,使用该机制,能够实现vsftpd服务器的虚拟用户功能。因为vsftpd服务器的虚拟用户不是系统的登陆用户,所以对系统的影响更小,该功能的使用有助于提高服务器的安全性。配置该vsftpd服务器的关键是创建PAM用户数据库文件和修改PAM配置文件。其实现的方法如下:

4.1 创建包括用户名和密码的文件/etc/vsftpd/ftp_pam_db.users,内容如下:

User1(用户名1)

Password1(密码1)

Users(用户名2)

Password2(密码2)

4.2 创建每个用户的访问目录/var/ftp/virtual/user1等,改变文件主为系统默认的ftp.

chown ftp:ftp /var/ftp/virtual/user1

chown ftp:ftp /var/ftp/virtual/user2

4.3 用db_load命令生成pam_userdb认证需要的账号文件,.配置PAM信息,在/etc/pam.d/下新建一个文件vsftpd.pam。

#db_load Tt hash f/etc/vsftpd/ftp_pam_db.users /etc/vsftpd/vsftpd.login,db

vsftpd.pam内容如下:

auth requires pam_userdb.so db=/etc/vsftpd/vsftpd.login

account required pam_userdb.so db=/etc/vsftpd/vsftpd.login

4.4 修改主配置文件/etc/vsftpd/vsftpd.conf如下:

(1)设置PAM身份验证文件pam_service_name=vsftpd.pam

(2)启动服务器虚拟用户guest_enable=YES

(3)指明虚拟用户映射的用户guest_username=ftp

(4)指明虚拟用户的配置目录

local_root=/var/ftp/virtual/$USER

local_root=/var/ftp

user_config_dir=/etc/vsftpd/user_config_dir

(5)指明虚拟用户的权限

chroot_local_user=YES

userlist_enable=YES

tcp_wrappers=YES

4.5 启动服务器

客户端即可使用虚拟用户user1和user2来访问服务器中对应的目录。

参考文献:

[1]仲劲.Linux服务器配置与管理[M].北京:北京理工大学出版社,2011.

[2]代洪涛.Linux 操作与服务器配置实用教程[M].北京:清华大学出版社,2014.

[3]林慧琛.Red Hat Linux服务器配置与应用[M].北京:人民邮电出版社,2006.

[4]刘凯.Linux服务器架设项目教程[M].北京:电子工业出版社,2011.

作者简介:陈欣(1975-),女,湖北武汉人,副教授,研究方向:计算机网络工程、智能楼宇与系统集成技术。

作者单位:武汉职业技术学院 计算机学院,武汉 430074

上一篇:数据挖掘中的关联规则算法研究 下一篇:正则表达式中的与或非解析