一、实验环境: Red Hat Enterprise Linux Server 5.4
实验目标:(1)实现匿名访问FTP
(3)建立虚拟用户的vsftpd服务器
二、安装vsftpd软件包
#rpm –ivh vsftpd-2.0.5-16.el5.i386.rpm
三、vsftpd.conf 常见配置及含义说明
作用范围
|
配置项及示例
|
说明
|
匿名
|
anonymous_enable=YES
|
启用匿名访问
|
anon_umask=022
|
匿名用户所上传文件的权限掩码
|
|
anon_root=/var/ftp
|
匿名用户的FTP根目录
|
|
anon_upload_enable=YES
|
允许上传文件
|
|
anon_mkdir_write_enable=YES
|
允许创建目录
|
|
anon_other_write_enable=YES
|
开放其他写入权
|
|
anon_max_rate=0
|
限制最大传输速率,单位为字节
|
|
本地用户
|
local_enable=YES
|
是否启用本地系统用户
|
local_umask=022
|
本地用户所上传文件的权限掩码
|
|
local_root=/var/ftp
|
设置本地用户的FTP根目录
|
|
chroot_local_user=YES
|
是否将用户禁锢在主目录
|
|
local_max_rate=0
|
限制最大传输速率(字节/秒)
|
|
全局配置
|
listen=YES
|
是否以独立运行的方式监听服务
|
listen_address=192.168.4.1
|
设置监听的IP地址
|
|
listen_port=21
|
设置监听FTP服务的端口号
|
|
write_enable=YES
|
是否启用写入权限
|
|
download_enable
=YES
|
是否允许下载文件
|
|
dirmessage_enable=YES
|
用户切换进入目录时示.message文件(如果存在)的内容
|
|
xferlog_enable=YES
|
启用xferlog日志,默认记录到/var/log/xferlog文件
|
|
xferlog_std_format=YES
|
启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式
|
|
connect_from_port_20=YES
|
允许服务器主动模式(从20端口建立数据连接)
|
|
pasv_enable=YES
|
允许被动模式连接
|
|
pasv_max_port=24600
|
设置用于被动模式的服务器最大端口号 |
|
pasv_min_port=24500
|
设置用于被动模式的服务器最小端口号
|
|
pam_service_name=vsftpd
|
设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名)
|
|
userlist_enable=YES
|
是否启用user_list用户列表文件 |
|
userlist_deny=YES
|
是否禁止user_list列表文件中的用户帐号 |
|
max_clients=0
|
最多允许多少个客户端同时连接(0为无限制) |
|
max_per_ip=0
|
对来自相同IP地址的客户端,最多允许多少个并发连接(0为无限制)。 |
|
tcp_wrappers=YES
|
是否启用TCP_Wrappers主机访问控制(TCP Wrappers的应用将在后续课程中讲解) |
四、建立匿名FTP
(1)修改vsftpd.conf配置文件,开放匿名访问,上传许可
anon_umask=022 //设置匿名用户上传建立文件时的权限掩码
anon_upload_enable=YES //允许匿名上传文件
anon_mkdir_write_enable=YES //允许匿名用户创建目录
五、本地用户 FTP
#useradd tom
#vim /etc/vsftpd.conf
anonymous_enable=NO //若不需要启用匿名访问,可将些设为NO
local_enable=YES //允许本地用户访问
chroot_local_user=YES //为安全起见,将用户禁锢于其宿主目录
local_max_rate=102400 //本地用户下载上传限速为100K/s
userlist_enable=YES //添加以下两行并重启服务
六、 建立虚拟用户的vsftpd服务器
#vim /etc/vsftpd/user_login.list
#useradd –d /var/ftproot –s/sbin/nologin laye //建立映射账号
#chmod 755 /var/ftproot //更改FTP根目录权限
auth requiredpam_userdb.so db=/etc/vsftpd/user_login
account required pam_userdb.so db=/etc/vsftpd/user_login
local_enable=YES //使用虚拟用户需要启用本地用户
anon_umask=022 //设置虚拟用户上传建立文件时的权限掩码
pam_service_name=vsftpd.vu //修改使用的PAM文件位置
guest_enable=YES //启用用户映射功能
guest_username=laya //将映射用户指定为laya
user_config_dir=/etc/vsftpd/vusers_dir
#mkdir /etc/vsftpd/vusers_dir //创建用户配置目录
#vim john //为john建立独立配置文件
anon_upload_enable=YES
anon_mkdir_write_enable=YES
注意:在vsftpd服务中,虚拟用户账户默认作为匿名用户处理以降低权限,因此对应权限设置通常使用以 anon_ 开头的配置项。