基于VSFTPD的ftp服务的搭建-实验报告

  1. 实验环境:fedora 10

  2. 安装
    vsftpd-<version> //主要的包
    db4-utils //一个负责生成db的工具包

  3. 运行
    安装好了以后不需要多少修改即可启动服务,默认的配置即可匿名登录。
    lftp localhost即可测试本机ftp服务。

  4. 关于拒绝访问的用户
    /etc/vsftpd 目录下user_list以及ftpuser两个文件记录了不允许访问的用户黑名单。

  5. 虚拟用户帐户
    为了提高系统安全性,以及避免创建大量的系统用户,我们可以创建虚拟用户账户给用户使用。

    1. 首先写好一个用户账户文件,我在/etc/vsftpd下创建了virtualusers这个文件,写入以下内容:
      kitty
      #用户名
      123456
      #密码
      jack

      54321
      为了安全起见,把virtualusers这个文件权限改为640

    2. 写好后,在当前目录下执行以下这条命令
      db_load -T -t hash -f virtualusers virtualusers.db
      后面那个文件将被生成在当前目录下面。

    3. 修改主配置文件 /etc/vsftpd/vsftpd.conf,在最后加入:
      guest_enable=YES

      guest_username=vftpuser #指定登录后以哪个用户名操作

      user_config_dir=/etc/vsftpd/vconf #虚拟用户的单独配置

      chroot_local_user=YES #启用chroot

      user_sub_token=$USER
      同时,我们修改anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO

    4. 若需要修改虚拟用户上传的文件Umask,需要在主配置内加入以下几条:
      virtual_use_local_privs=YES
      chmod_enable=YES
      local_umask=022

    5. 这样主配置里的匿名用户的使用就给禁用了。接下来我们创建vconf目录,并且在这个目录下创建单用户的配置如下:

      kitty
      文件:

      local_root=/var/kitty #登录后的主目录

      anon_root=/var/kitty #这些配置在登录后会覆盖掉主配置中的选项

      write_enable=YES

      anon_world_readable_only=YES

      anon_upload_enable=YES

      anon_mkdir_write_enable=YES

      anon_other_write_enable=YES
      类似的也创建并写一个
      jack文件。

    6. 修改vsftpdpam的配置

      配置文件地址在/etc/pam.d/vsftpd的这个位置。在前面增加如下内容:
      auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtualusers crypt=hash

      account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtualusers crypt=hash
      如果是64位系统,这里调用lib64

    7. 最后我们创建/var/jack/var/kitty这两个目录,并且修改ownervftpuser

    8. 重启服务,测试
      lftp
      jack@localhost
      之后输入我们配置的密码
      54321,就会进入自己的主目录了。

       

 

posted @ 2009-05-04 23:11  Hello! Linux 博客  Views(791)  Comments(0Edit  收藏  举报