论文部分内容阅读
摘 要:目前运行在常用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安装情况 #rpm–qa|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 –T–t 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
关键词: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安装情况 #rpm–qa|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 –T–t 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