利用vsftpd搭建ftp服务器

昨天在实验室内网的一台机器上搭建了一个ftp服务器,方便大家共享文件。这个ftp-server要满足的要求是:

  1. 有多个用户,使用一个共用目录,每个人都能上传文件,但是只能对属于自己的文件进行修改(删除)。
  2. 服务器虽然在内网的机器上,但是要求在整个校园内都可以方便的访问。

首先,在这台内网机器上建立一个文件夹作为ftp服务的根目录,如/home/_root,然后执行如下命令

chmod 1777 /home/ftp_root

或者

chmod 777 /home/ftp_root

chmod +t /home/ftp_root

则所有的用户都可以对这个文件夹进行读写。但是由于”sticky”粘滞位(t)的添加保证了该目录中的文件或子目录无论是什么权限只有文件或子目录所有者和root用户能够删除。

然后安装vfftpd,打开配置文件/etc/,如下几个地方要修改:

# 允许本地用户登录ftp
local_enable=YES
# 允许写操作
write_enable=YES

#指定ftp服务根目录

local_root=/home/ftp_root

#限定用户在根目录下
chroot_local_user=YES

#允许文件能被其它用户读取(下载)

local_umask=022

最后重启ftp服务

service vsftpd restart

这样第一个目标就实现了,内网里已经可以访问ftp服务。

对于第二个目标,则需要借助网关的端口转发了。设置iptable将网关的21端口(ftp服务的默认端口)转发到内网的ftp服务器上(假设其内网ip是192.168.2.8)。

iptables -F
iptables -F -t nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

iptables -t nat -A POSTROUTING -d 192.168.2.8 -p tcp –dport 21 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp –dport 21 -j DNAT –to-dest 192.168.2.8:21



 

 

Related posts



16 comments. Leave a comment

  1. huangjun 说道:

    兄弟不错啊,有机房可以自己随便折腾。

  2. 集趣 说道:

    羡慕可以出国的人,我都连港澳通行证都没有

  3. Mucid 说道:

    我喜欢pureftpd传很多小文件的时候会稳定,还可以使用mysql管理账户~

  4. 雅岚 说道:

    你去米国回来啦,Vastar?还是还没去? :idea:

  5. 雅岚 说道:

    :wink: :wink: :wink: 杀花之。。。。。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

Comment

You may use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>