在这里就不写匿名用户的配置,在下面的配置中会包匿名用户屏蔽不使用匿名,我的软件是下载到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 Cxf |grep ftp
kill 进程号
我们开始建立指定FTP用户
配置本地组访问的FTP
首先创建用户组 test和FTP的主目录
groupadd test
mkdir /tmp/test
然后创建用户
useradd -G test Cd /tmp/test CM usr1
注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定
M:不建立默认的自家目录,也就是说在/home下没有自己的目录
useradd CG test Cd /tmp/test CM 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登陆必须把使用被动模式勾掉 不然登陆不了