一、实验环境: 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_ 开头的配置项。