RHEL5.4下使用vsftpd配置FTP服务器(多案例)

175阅读 0评论2012-04-18 wfeng
分类:系统运维

具体步骤:

1、安装vsftpd软件
   查看当前系统是否安装vsftpd软件:
   rpm -q vsftpd
   查看光盘中的vsftpd软件包:
   ls /media/Server/*vsftp*
   安装vsftpd服务器软件:
   rpm -ivh /media/Server/vsftpd-2.0.5-16.el5.i386.rpm

2、查看vsftp服务器的配置和主要目录
   可以执行命令:
   rpm -ql vsftpd
   目录和文件列表如下:
   /usr/sbin/vsftpd           vsftpd的主程序
   /etc/vsftpd                配置文件所在目录
   /etc/vsftpd/vsftpd.conf    主配置文件
   /etc/vsftpd.ftpusers       vsftpd服务器的黑名单
   /etc/vsftpd.user_list      vsftpd服务器的列表

   /var/ftp                   匿名用户访问的主目录
   /var/log/xferlog           ftp服务器日志文件
   /home/用户宿主目录

   /etc/rc.d/init.d/vsftpd    vsftpd服务器启动脚本
   /etc/pam.d/vsftpd          PAM配置文件


3、vsftpd服务器配置
   修改vsftpd服务器主配置文件/etc/vsftpd/vsftpd.conf
   注意:在配置时,vsftpd的格式是:选项=值
         强调,在这里"="两边不能留空白符;

################################分割线 建立基于匿名FTP服务器 案例一###########################
(1) 调整FTP匿名上传目录权限,并准备测试文件
   chown ftp /var/ftp/pub
   ls -ld /var/ftp/pub
   建立或复制一个文件到/var/ftp/pub目录下:
   cp /etc/vsftpd/vsftpd.conf /var/ftp/pub/testfile
(2) 修改/etc/vsftpd/vsftpd.conf主配置文件,开发匿名用户访问、上传
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_umask=022
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
ftpd_banner=Welcome to blah FTP service.
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
(3) 重新启动vsftpd服务
service vsftpd restart
(4) 在客户端访问ftp服务器,测试下载和上传文件功能
方法一:通过ftp命令测试
方法二:浏览器访问测试
方法三:使用cuteftp客户端工具访问测试
################################分割线 建立基于本地用户FTP服务器 案例二###########################
(1) 修改/etc/vsftpd/vsftpd.conf主配置文件,设置本地FTP服务器
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
ftpd_banner=Welcome to blah FTP service.
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
(2) 重新启动vsftpd服务
service vsftpd restart
(3) 在客户端访问ftp服务器,测试下载和上传文件功能
方法一:通过ftp命令测试
方法二:使用浏览器访问测试
方法三:使用cuteftp客户端工具访问测试
(4) 禁锢本地用户
    允许本地用户登陆ftp服务器
    通过ftp命令去测试默认情况下本地用户是否被禁锢在其主目录;
    修改主配置文件
           chroot_local_user=YES
    重启服务后,通过ftp命令再次去测试。


################################分割线 建立基于虚拟用户FTP服务器 案例三(课后案例二)###########################
(1) 建立虚拟用户口令库文件
      touch file
      vi file
      奇数行为用户名,偶数行为密码
(2) 生成vsftpd的认证文件
      db_load -T -t hash -f file /etc/vsftpd/vsftpd_login.db
      chmod 600 vsftpd_login.db
(3) 建立虚拟用户所需的PAM配置文件
      cd /etc/pam.d
      touch PAM配置文件
      vi PAM配置文件
         修改为:
            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 用户名
          passwd 用户名

      此用户宿主目录既是虚拟用户登陆的主目录;
(5) 设置vsftpd.conf配置文件
    vi /etc/vsftpd/vsftpd.conf
     修改:
      guest_enable=YES               启用虚拟用户帐户登陆ftp服务器
      guest_username=用户名          指定虚拟用户映射的系统用户帐户
      pam_service_name=PAM配置文件   指定虚拟用户的PAM配置文件名称

        
(6) 保存,重启,测试虚拟用户

(7) 建立虚拟用户配置文件存放的主目录
    vi /etc/vsftpd/vsftpd.conf
      添加:
         user_config_dir=/etc/vsftpd_user_conf
         mkdir /etc/vsftpd_user_conf
         在此目录中建立与虚拟用户同名的配置文件
(8) 修改不同虚拟用户的配置文件
    vi /etc/vsftpd_user_conf/用户
       可修改以下参数:
          anon_world_readable_only=NO
          anon_upload_enable=YES
          anon_mkdir_write_enable=YES
          anon_other_write_enable=YES
(9) 重启服务后测试虚拟帐户


4、ftp其他参数的测试
     1、超时设置
        #空闲连接超时
        idle_session_timeout=600
        #数据传输超时
        data_connection_timeout=120

     2、信息类设置
        ftpd_banner=欢迎消息
        dirmessage_enable=YES
       #目录信息文件
        message_file=.message

     3、用户连接测试
       #可接受的最大client数目
         max_clients=100
       #每个ip的最大client数目
         max_per_ip=5

     4、传输速率设置
       #匿名用户的传输比率(bytes/s)
        anon_max_rate=51200
       #本地用户的传输比率(bytes/s)
        local_max_rate=5120000



CCIE Security 2009 IOS防火墙合集


上一篇:Bash 内建参数
下一篇:BASH 小试