vsftpd的基本学习

环境 CentOS 5.4
安装 cd   /media
      Rpm  -ivh  vsftpd-xx-xx-xx   安装完成
启动服务 service  vsftpd  start
创建测试文件 cd  /var/ftp/pub
              Vi   test 并编辑内容“这是一个测试文件”
匿名测试 ifconfig 查看服务器 ip 地址,然后输入“ ftp   服务器 ip 地址”
          提示输入用户名 ftp anonymous
                  注:这个时候你有可能进不去,并报告 550 错误。这个时候你可以看下 selinux 排除故障。由于 selinux 设置是否是强制,如果是,则将其改为:警告或者禁用就可以了。
          Cd   pub       进入 pub 目录
          Ls 查看 test 文件是否存在
          进入 vsftpd.conf 配置文件修改 , anon_upload_enable=YES anon_mkdir_dictionry_enable 前面的“ # ”去掉,测试从 pub 目录上传和创建文件、目录等。
           这个时候向 pub 目录中上传文件、创建文件有可能还是不行。别着急, linux 下就是这样的,权限设置比较细。我们在来看下 pub 目录的权限是什么。进入 /var/ftp 目录后,使用“ ll ”命令查看,这时你会发现他的权限是 755 ,所以就明白为什么不能上传文件、下载文件了吧。你需要赋予 pub 目录, 777 权限才行。哈!这下好办了,直接用 chmod 777 pub pub 目录赋权限。然后在测试, ok 上传成功。在试试看创建文件,也 ok 。好了到这一步,匿名测试部分基本上已经 ok 了。其他在细节方面的东西,这里就不做测试了。下面看本地用户测试部分。
本地测试
在做本地测试前首先要吧匿名登录禁用掉,及进入 vsftpd.conf 配置文件将 anonymous_enable=YES, 中的 ”YES” 改为 ”NO” 。然后保存推出,并重启服务, service  vsftpd  restart 。好了,现在可以测试了。在浏览器中输入 ftp:// 服务器 ip 地址,现在你会发现提示你输入用户名和密码才可以登录进去。那么我们以系统中 jsp 用户为例,输入 jsp jsp 的密码。 Ok 可以进去,好了现在创建一个文件看看。你会发现也可以创建文件夹,不仅可以创建文夹件,还可以删除 、重命名等等。(注意:是文件夹,而非文件。并且默认也可以上传和下载)那么这时候问题来了,问什么不可以创建文件呢?好,我们就带着这个问题看看究竟是怎么回事。
我们首先进入 /home 目录, ls 下看看有哪些目录。可以看到 jsp 在这里,其实这就是 jsp 用户存储文件的地方。我们在来看看他是什么权限, ll 下。大家可以看到他是 755 ,因为这个文件夹得属主就是 jsp ,他自然可以创建、删除、上传、下载。另外在看下配置文件里是怎么写的。可以看到 write_enable=YES 这一项,他就是控制创建文件的。因为它前面没有“ # ”号,自然是生效的,所以可以创建文件。
虚拟用户
虚拟用户的测试比较麻烦点。首先和大家屡一下思路:
1、  创建虚拟用户口令库文件
2、  生成 vsftpd 的认证文件
3、  建立虚拟用户所需的 PAM 配置文件
4、  建立虚拟用户要访问的目录并设置相应的权限
5、  修改配置文件
6、  重启 vsftpd 服务
      那么下面我们就根据上面所叙述的六个步骤来讲一讲虚拟用户的测试。首先我们来创建用户口令文件库。
      1 、在 /home 目录下 vi  logins.txt
         然后输入 mike
                 12345
                 John
                 45678 说明:奇数行为用户名,偶数行为密码
      2 、由于建立 vsftpd 认证文件过程中需要用到 db_load 工具,所以我们首先安装 db4-unitls 工具。安装过程如下
                 Cd  /media   中找到 rpm 报所在的目录
                 Rpm �Civh  db4-unitls 。。。     --aid
          安装完成后,使用 db_load  �CT  �Ct  hash  -f  /home/logins.txt   /etc/vsftpd/vsftpd_login.db 命令来生成认证文件。执行完成后,通过 cat  /etc/vsftpd/vsftpd_login.db 来验证看生成效果。
        然后给 vsftpd_login.db 文件赋权, chmod  600  /etc/vsftpd/vsftpd_login.db 只允许 root 有读和写的权限。
      3 、下面就该创建虚拟用户所需的 pam 配置文件
         Vi  /etc/vsftpd/vsftpd.vu
         Auth  requirted  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
         Account  requirted  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
        保存退出。
      4 、建立虚拟用户及要访问的目录并设置权限
         Useradd  -d  /home/ftpsite  virtual
         Chmod  700  /home/ftpsite
      5 、修改 vsftpd.conf 文件
         在文件中添加下面三项:
                  Guest_enable=YES
                  Guest_username=virtual
                  Pam_serivce_name=vsftpd.vu
6 、最后 service  vsftpd  restart
       7 、通过浏览器或者 ftp 客户端软件访问进行验证。
      

你可能感兴趣的:(ftp,职场,休闲)