一、Vsftp服务的安装
       1、在这里就不写匿名用户的配置,在下面的配置中会包匿名用户屏蔽不使用匿名,我的软件是下载到root目录下的 然后我们把文件复制到use/local下 然后使用:

   
   
   
   
  1. # tar xzvf vsftpd-2.0.3.tar.gz 
  2. # cd vsftpd-2.0.3 
  3. # nano builddefs.h \\编辑builddefs.h 文件,文件内容如下: 
  4. #ifndef VSF_BUILDDEFS_H 
  5. #define VSF_BUILDDEFS_H 
  6. #undef VSF_BUILD_TCPWRAPPERS 
  7. #define VSF_BUILD_PAM 
  8. #undef VSF_BUILD_SSL 
  9. #endif /* VSF_BUILDDEFS_H */ 

将以上#undef VSF_BUILD_TCPWRAPPERS改为 #define VSF_BUILD_TCPWRAPPERS
      2、然后#make make完毕后 #make install
      3、接着cp vsftpd.conf /etc 再cp RedHat/vsftpd.pam /etc/pam.d/ftp
            创建必要的帐号,目录:

   
   
   
   
  1. # useradd nobody //可能你的系统已经存在此帐号,那就不用建立 
  2. # mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立 
  3. 必须建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立 
  4. # useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立 
  5. # chown root:root /var/ftp 
  6. # chmod og-w /var/ftp

注意,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin

二、Vsftp的配置
       现在开始编辑etc/vsftpd.conf
       关闭匿名用户登陆 在anonymous_enable=YES前面加# 变成#anonymous_enable=YES
       允许本地用户登陆 把#local_enable=YES前面的#去掉 变成local_enable=YES
       允许本地用户上传 把#write_enable=YES前面的#去掉 变成write_enable=YES
       如果你不想上传后的文件执行 就把#local_umask=022前面的#去掉 变成local_umask=022
       同时在最下面加上listen=YES 让服务器自动监听 改变端口在最后面加上listen_port=端口号
      更改完毕后 使用/usr/local/sbin/vsftpd &来启动服务器进行连接测试 ftp localhost 端口号(如果是默认端口就      不用加端口号).

       安全选项

   
   
   
   
  1. Idle_session_timeout=600(秒) (用户会话空闲后10分钟) 
  2. Data_connection_timeout=120(秒) (将数据连接空闲2分钟断) 
  3. Accept_timeout=60(秒) (将客户端空闲1分钟后断) 
  4. Connect_timeout=60(秒) (中断1分钟后又重新连接) 
  5. Local_max_rate=50000(bite) (本地用户传输率50K) 
  6. Anon_max_rate=30000(bite) (匿名用户传输率30K) 
  7. Pasv_min_port=50000 (将客户端的数据连接端口改在 
  8. Pasv_max_port=60000 50000—60000之间) 
  9. Max_clients=200 (FTP的最大连接数) 
  10. Max_per_ip=4 (每IP的最大连接数) 
  11. Listen_port=5555 (从5555端口进行数据连接 

       查看谁登陆了FTP,并杀死它的进程

   
   
   
   
  1. ps –xf |grep ftp 
  2. kill 进程号 
   配置本地组访问的FTP
   首先创建用户组 test和FTP的主目录
   
   
   
   
  1. groupadd test 
  2. mkdir /tmp/test 
  3. 然后创建用户 
  4. useradd -G test –d /tmp/test –M us
注意,G:用户所在的组 d:表示创建用户的自己目录的位置给予指定
M:不建立默认的自家目录,也就是说在/home下没有自己的目录
   
   
   
   
  1. useradd –G test –d /tmp/test –M usr2 
  2. 接着改变文件夹的属主和权限 
  3. chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1 
  4. chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有 
然后给usr1设置密码 passwd usr1 然后输入两遍密码 测试 ftp localhost 33333 使用usr1和密码登陆 然后使用put /etc/services services 上传文件 再使用ls察看上传后的文件 这个实验的目的就是usr1有上传、删除和下载的权限 而usr2只有下载的权限没有上传和删除的权限 当然啦大家别忘了我们的主配置文件vsftpd.conf 要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦! 配置独立FTP的服务器的非端口标准模式进行数据连接 这个非常容易:在VSFTPD。CONF中添加Listen_port=33333 就可以了啦! 在这里要强调的是 更改了端口后 FTP登陆必须把使用被动模式勾掉 不然登陆不了