本文以RHEL 5.0 为操作平台 介绍 RHEL下 FTP服务的安装 配置
vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,vsftpd也是RHEL默认的ftp服务,本文主要讲述vsftp相关配置方法。
首先在系统光盘中找到 vsftp的 rpm包 并安装(一般在第二张光盘)
安装完成后,vsftpd配置文件为/etc/vsftpd/vsftpd.conf。以下命令启动FTP服务
启动后可以用以下命令登陆FTP服务器
第一行的192.168.1.116是FTP服务器的IP地址,因为目前使用匿名用户连接到ftp服务器,所有输入匿名用户(一般ftp服务器匿名为anonymous,这里的ftp用户是在安装vsftp时自动创建的,该用户也是vsftp的匿名用户)。
在连接到vsftp后,其默认目录为该用户的家目录,而ftp用户的家目录位于/var/ftp
用 VI打开/etc/vsftpd/vsftpd.conf
命令为 vi /etc/vsftpd/vsftpd.conf 打开后如下图
下表是 文本里面重要选项的解释
参数

说明

listen_address=ip address
指定侦听IP
listen_port=port_value
指定侦听端口,默认21
anonymous_enable=YES
是否允许使用匿名帐户
local_enable=YES
是否允许本地用户登录
nopriv_user=ftp
指定vsftpd服务的运行帐户,不指定时使用ftp
write_enable=YES
是否允许写入
anon_upload_enable=YES
匿名用户是否可上传文件
anon_mkdir_write_enable=YES
匿名用户是否建立目录
dirmessage_enable=YES
进入每个目录是显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息
xferlog_enable=YES
上传/下载文件时记录日志
connect_from_port_20=YES
是否使用20端口传输数据(是否使用主动模式)
chown_uploads=YESchown_username=whoever
修改匿名用户上传文件的拥有者
xferlog_file=/var/log/vsftpd.log
日志文件
xferlog_std_format=YES
使用标准文件日志
idle_session_timeout=600
会话超时,客户端连接到ftp但未操作
data_connection_timeout=120
数据传输超时
async_abor_enable=YES
是否允许客户端使用sync等命令
ascii_upload_enable=YESascii_download_enable=YES
是否允许上传/下载二进制文件
chroot_local_user=YES
限制所有的本地用户在自家目录
chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list
指定不能离开家目录的用户,将用户名一个一行写在/etc/vsftpd/chroot_list文件里,使用此方法时必须chroot_local_user=NO
ls_recurse_enable=YES
是否允许使用ls -R等命令
listen=YES
开启ipv4监听
listen_ipv6=YES
开启ipv6监听
pam_service_name=vsftpd
使用pam模块控制,vsftpd文件在/etc/pam.d目录下
userlist_enable=YES
此选项被激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd查到该用户名在列表中,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步聚
userlist_deny=YES
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。NO,只允许在文件中的用户登录FTP服务器
tcp_wrappers=YES
是否允许tcp_wrappers管理
local_root=/home/ftp
所有用户的根目录,,对匿名用户无效
anon_max_rate
匿名用户的最大传输速度,单位是Byts/s
local_max_rate
本地用户的最大传输速度,单位是Byts/s
download_enable= YES
是否允许下载
在上面的参数中,可以通过将anonymous_enable设置为NO禁止匿名用户访问。在禁止匿名用户后,可通过以下方式的授权用户:
本地用户:以/etc/passwd中的用户名为认证方式
虚拟用户:支持将用户名和口令保存在数据库文件或数据库服务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案
本地用户在这里就不多介绍了,主要介绍实现虚拟用户的二种方法:
1、使用本地数据文件:
生成虚拟用户文件,建立/etc/vsftpd/vuser.txt文件,内容如下:
第一三两行是帐户 二四两行是 密码
安装生成数据库的RPM包 DB4-utils (一般在第二张光盘)
生成虚拟用户数据库。
创建本地映射用户,修改本地映射用户家目录权限。
修改pam认证文件/etc/pam.d/vsftpd,将原有内容注释。
修改pam认证文件/etc/pam.d/vsftpd,将原有内容注释。

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

修改/etc/vsfptd/vsftp.conf,增加以下内容。

guest_enable=YES
guest_username=vuser

另外一种方法以后在为大家介绍!