一 在RHEL4中配置FTP(vsftpd)
1 设置IP
#netconfig
ipaddress 192.168.0.2 *IP地址*
netmask 255.255.255.0 *子网掩码*
#service network restart *重启服务使设置生效*
2 安装与启动
# cd /media/cdrom/RedHat/RPMS *进入安装目录*
# rpm -ivh vsftpd-2.0.1-5.i386.rpm *安装vsftpd服务器软件*
# service vsftpd start *启动vsftpd服务即可进行只读访问*
# iptables –F *关闭防火墙*
3 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中指定帐号进行访问控制*
4 vsftpd服务的简单应用
允许匿名用户上传
# vi /etc/vsftpd/vsftpd.conf *编辑vsftpd主配置文件*
anon_upload_enable=YES
anon_mkdir_write_enable=YES
# service vsftpd restart *重启vsftpd服务使设置生效*
# cd /var/ftp/
# chmod 777 * *设置相应权限*
将FTP本地用户禁锢在宿主目录中
# vi /etc/vsftpd/vsftpd.conf *在vsftpd主配置文件中添加如下配置行*
chroot_local_user=YES
# service vsftpd restart *重启服务使设置生效*
二、配置FTP服务器的虚拟用户
(1)建立虚拟用户口令库文件
# vi /home/logins.txt *默认不存在,需手动创建*
mike *奇数行表示虚拟用户名*
123 *偶数行设置用户口令*
john
123
(2)生成vsftpd的认证文件
# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm
# db_load -T -t hash -f /home/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服务使设置生效*
(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 *为虚拟用户建立单独的与用户名相同的配置文件*
配置文件的内容及含义如下:
# vi /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服务*
在vsftpd服务器中通过主配置文件vsftpd.conf中的以下几个选项对整体资源进行限制
max_clients=100 *允许最大的客户端连接数 *
max_per_ip=5 *同一IP最大客户端的连接数
local_max_rate=5000000 *设置本地用户最大传输数率(B/s) *
anon_max_rate=2000000 *匿名用户最大的传输数率(B/s) *
三种账号
账号 所在目录 默认权限
匿名 /var/ftp 只能下载
本地 用户主目录 最大权限
虚拟 /home/ftpsite 没权限