个人用户偶尔也会碰到想给别人传一个比较大的文件的尴尬,用Email吧可惜主流的邮箱只能发送10M-20M的附件。用IM工具吧,Gaim里MSN传文件的速度慢得惊人,没见他越过10K/S,兼容型的QQ客户端只有libeva的库可以实现QQ的文件传输协议,openq无法传,Lumaqq也不能传,但是后2者用户居多。用P2P工具吧太慢,只能做到share,实时传输不太现实。所以通过FTP来传文件是个比较好的方法。
首先安装FTP服务器端,我用的是vsFTPd,这个号称全球最安全的FTP服务器程序(Very Secure FTP Daemon)。
apt-get install vsftpd
安装完成之后通过/etc/init.d/vsftpd start启动,stop来停止。启动之后,使用FTP客户端或者支持FTP协议的WEB浏览器来检查FTP是否正常。
lftp 127.1
接着修改vsftpd的配置文件,让其支持匿名用户的上传和下载:
vi /etc/vsftpd.conf
检查有没有这几行,没有的话就修改。
anonymous_enable=YES #匿名用户登录
write_enable=YES #可写
local_umask=022
anon_upload_enable=YES #匿名用户上传
anon_mkdir_write_enable=YES#匿名用户建立目录
然后在/home目录下建立一个名为ftp的目录,权限为755,接着在ftp目录下在建2个目录,分别为in和pub,in对所以用户开放所以权限,pub对其他用户关闭写权限。
至此匿名FTP 服务器架设完毕,重启vsftpd
/etc/init.d/vsftpd restart
现在,把你的公网IP地址给对方,把要传输的文件放在ftp的pub目录下,对方就可以直接来下载了,可以使用匿名用户(用户名:anonymous 密码:空)或者ftp(用户名:ftp 密码:空) 。
当然,如果你的计算机是被挡在路由器后面,也是不能直接被访问到ftp服务的端口的,此时要做一个端口映射,把你的路由器的21和20端口映射到你本机的内网IP上,具体请看路由器的说明书。大致过程为:假设路由器的IP是192.168.1.1,而你的计算机的IP为192.168.1.17,登录路由器的管理介面http://192.168.1.1,然后把192.168.1.1的21和20端口映射到192.168.1.17的21和20端口。
man vsftpd