百度空间 | 百度首页 
 
查看文章
 
Linux下安装vsftp
2008/03/12 22:43

linux操作系统为CentOS5.1

ftp软件源码包vsftpd-2.0.5.tar.gz

实现目标:

1) Upload目录可以上传,其他目录用户不能上传,仅能下载

2) 限定只有ftpuser可以登录FTP

3) 限定ftpuser登录后只能在安装时指定的目录,而不能进入其他目录

4) 限定用户ftpuser不能更改目录的文件的权限

5) 限定最大并发访问数为50,每个IP最多5个线程

6) 用户的下载速度为500KBytes/s

7) 超过600S没有动作就自动断线

8) 数据传输时超过120S没有动作自动断线

安装过程:

1.ftp软件源码包vsftpd-2.0.5.tar.gz上传到/usr/local/src下

2.在终端下,新建一个上传目录

mkdir /ftp/upload

3.改变目录的权限

chmod -R 755 /ftp/upload

4.添加一个新用户并使这个用户有root权限

useradd -d /ftp -s /sbin/nologin ftpuser

passwd ftpuser

chown ftpuser:root /ftp

5.跳转到/tmp目录下

cd /tmp

6.解压缩同时解归档

tar -xvzf vsftpd-2.0.5.tar.gz

7.跳转到vsftpd-2.0.5

cd vsftpd-2.0.5

8.编译及安装

make

make install

9.复制RedHat/vsftpd.pam到/etc/pam.d/ftp

cp RedHat/vsftpd.pam /etc/pam.d/ftp

10.新建/etc/vsftpd.conf配置文件

vi /etc/vsftpd.conf

在配置文件加入:

#绑定IP为192.168.0.188,其它IP不能访问

listen_address=192.168.0.188

#使用standalone启动vsftpd

listen=YES

#绑定到21端口

listen_port=21

#允许本地用户登陆

local_enable=YES

#全局配置可写

write_enable=YES

#用户上传的文件权限

local_umask=022

#使用20端口号来做数据传输

connect_from_port_20=YES

#锁定用户登录目录

chroot_local_user=YES

#所有用户登录目录

local_root=/ftp

#本地用户的下载速度为500KBytes/s

local_max_rate=500000

#客户端超过600S没有动作就自动断线

idle_session_timeout=600

#数据传输时超过120S没有动作自动断线

data_connection_timeout=120

#FTP欢迎信息

ftpd_banner=Welcome to FTP

#不检测SHELL

check_shell=NO

#可访问的最大client数目

max_clients=50

#每个ip的最大client数目

max_per_ip=5

#启用用户控制,vsftpd将在userlist_file里读取用户列表

userlist_enable=YES

#若userlist_deny为YES,则userlist_file中的用户将不能登录,

#为NO则只有userlist_file的用户可以登录

userlist_deny=NO

userlist_file=/etc/vsftpd.userlist

11.保存退出 :wq

12.编辑/etc下文件vsftpd.userlist

vi /etc/vsftpd.userlist

ftpuser

13.保存退出 :wq

14.服务启动

vsftpd &

15.查看服务状态

ps -A | grep vsftpd

16.测试:

--在windows打开IE输入:ftp://192.168.0.88,出现如下图1所示界面
clip_image002

1

--在windows中可以拷贝文件到ftp中,整个vsftp安装过程完成.

补充:

ftp监听在21端口,启用了20端口,启用了被动模式,被动模式开启65400~65410端口

防火墙设置

# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 65400:65410 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 65400:65410 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

# vi /etc/sysconfig/iptables

在commit前加入:-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 65400:65410 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

# /etc/init.d/iptables restart

注意iptables要允许OUTPUT


类别:技术积累 | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2008/12/12 17:37 | 回复
hi when i use internet explorer or explorer to login with ftp. ican't copy a file and paste or drag a file to another folder, do you known the reason. hope you response soon. thanks a lot .
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu