分类: LINUX
2008-05-11 17:08:33
一、 vsftpd服务器的安装和基本配置
1. 安装和启动
# cd /media/cdrom/RedHat/RPMS //进入安装目录
# rpm -ivh vsftpd-
# service vsftpd start //启动vsftpd服务即可进行只读访问
# iptables –F //关闭防火墙
2. vsftpd的相关文件及位置
/etc/vsftpd/vsftpd.conf //vsftpd主配置文件
/etc/vsftpd.ftpuser /保存不允许进行ftp登录的本地用户帐号
/etc/init.d/vsftpd //vsftpd服务器的启动脚本
/var/ftp //匿名用户登录目录
/etc/vsftpd.user_list //与vsftpd.conf配合实现对vsftpd.user_list中指定帐号进行访问控制
包含的配置项 |
结果 |
userlist_enable=YES |
vsftpd.user_list文件中的帐号被禁止进行FTP登录 |
userlist_deny=YES |
|
userlist_enable=YES |
只有vsftpd.user_list文件中的用户帐号能够进行FTP登录 |
userlist_deny=NO |
3. vsftpd服务的简单应用
1) 允许匿名用户上传
# vi /etc/vsftpd/vsftpd.conf //编辑vsftpd主配置文件,去掉下列内容前面注释
anon_upload_enable=YES
anon_mkdir_write_enable=YES
# service vsftpd restart //重启vsftpd服务使设置生效
# cd /var/ftp/
# chmod 777 * //设置相应权限,以便用户可以上传
2) 将FTP本地用户禁锢在宿主目录中
# vi /etc/vsftpd/vsftpd.conf //编辑vsftpd主配置文件,添加如下配置行
chroot_local_user=YES //添加文档末尾即可
# service vsftpd restart //重启服务使设置生效
二、 配置FTP服务器的虚拟用户
1. 建立虚拟用户口令库文件
# vi /root/logins.txt //默认不存在,需手动建立, 奇数行表示虚拟用户名,偶数行设置用户口令
mike
123
john
123
2. 生成vsftpd的认证文件(在第3张光盘中)
# rpm -ivh db4-utils-
# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db //生成认证文件
# chmod 600 /etc/vsftpd/vsftpd_login.db //设置认证文件只对用户可读可写
3. 建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu //需手工建立,并添加如下内容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
4. 建立虚拟用户及要访问的目录并设置相应的权限
# useradd -d /home/ftpsite virtual //建立虚拟用户所需系统用户帐号,并指定宿主目录
# chmod 700 /home/ftpsite //设置该帐号宿主目录的权限为宿主可读可写
5. 设置vsftpd.conf配置文件
# vi /etc/vsftpd/vsftpd.conf //编辑配置文件,添加虚拟用户的配置内容如下
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
并去除下列一行关于禁固在宿主目录的选项
chroot_local_user=YES
# service vsftpd restart //重启vsftpd服务使设置生效
OK,虚拟用户可以进行登录了
6. 对虚拟用户设置不同的权限
# vi /etc/vsftpd/vsftpd.conf //设置主配置文件,添加用户配置文件目录设置如下
user_config_dir=/etc/vsftpd_user_conf
# mkdir /etc/vsftpd_user_conf //建立用户配置文件目录
# /etc/vsftpd_user_conf/mike
# /etc/vsftpd_user_conf/john //为虚拟用户建立单独的与用户名相同的配置文件
配置文件的内容及含义如下:
anon_world_readable_only=NO //表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES //表示用户可以上传文件
anon_mkdir_write_enable=YES //表示用户具有建立和删除目录的权限
anon_other_write_enable=YES //表示用户具有文件改名和删除文件的权限
# service vsftpd restart //重启vsftpd服务
三、 FTP服务器的资源限制
在vsftpd服务器中通过主配置文件vsftpd.conf中的以下选项对整体资源进行限制
max_clients=100 //允许最大的客户端连接数
max_per_ip=5 //同一IP最大客户端的连接数
local_max_rate=5000000 //设置本地用户最大传输数率(B/s)
anon_max_rate=2000000 //匿名用户最大的传输数率(B/s)