linux下的vsftp的安装 个人总结版

先到vsftp的官方下载ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz软件我在这里使用的是2.0.3的现在最高的是2.0.6

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

# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序

# cd vsftpd-2.0.3 \\进入这个文件

# nano builddefs.h \\编辑builddefs.h 文件,文件内容如下:

#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H

#undef VSF_BUILD_TCPWRAPPERS

#define VSF_BUILD_PAM

#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */

将以上#undef VSF_BUILD_TCPWRAPPERS改为 #define VSF_BUILD_TCPWRAPPERS

然后#make make完毕后 #make install

接着cp vsftpd.conf /etc 再cp RedHat/vsftpd.pam /etc/pam.d/ftp

创建必要的帐号,目录:

# useradd nobody //可能你的系统已经存在此帐号,那就不用建立

# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立

重点必须建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立

重点# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立

重点 # chown root:root /var/ftp

# chmod og-w /var/ftp

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

现在开始编辑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 端口号(如果是默认端口就不用加端口号).

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

查看谁登陆了FTP,并杀死它的进程
      ps –xf |grep ftp
      kill 进程号
我们开始建立指定FTP用户

配置本地组访问的FTP
首先创建用户组 test和FTP的主目录
groupadd test
mkdir /tmp/test
然后创建用户

useradd -G test –d /tmp/test –M usr1
注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定

M:不建立默认的自家目录,也就是说在/home下没有自己的目录

useradd –G test –d /tmp/test –M usr2
接着改变文件夹的属主和权限

chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1
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登陆必须把使用被动模式勾掉 不然登陆不了