June 3rd, 2008

用vsftpd搭了一个FTP

相比起Windows平台下强大的Serv-U,这vsftpd还真是难弄,费了好长时间呢,不过,学了好多知识感觉,真不错。记一下遇到的难题:

已有环境是在VMware中的linux通过NAT方式联网,ip为192.168.37.10。目的是搭建一个FTP服务器,监听端口改21为2121。设定A、B两个用户,A用户仅有只读权限,B用户有写权限,并且禁止匿名访问。

1.编译与安装。相对于RPM安装方式,现场编译安装的机动性更强一些,可是因此也会遇到一些问题。比如,编译之前的builddefs.h这个头文件,如果有特殊需求就要进行修改。这里不考虑SSL安全链接,并且需要用到PAM来配置虚拟用户,所以对保持默认不进行修改。然后直接make。在make install之前必须手动做的一步是需要建立ftp目录和ftp用户匿名的ftp用户,否则make install会报告不存在目录而失败。

2.整个vsftpd的配置精髓都存在于一个文件之中:vsftpd.conf。我们既然要用PAM来进行虚拟用户管理,那么就要手动生成一个虚拟用户的数据库,然后创建一个对应的PAM文件和本地的用户virtual。这样,所有的其他用户都以virtual用户来代替了。修改vsftpd.conf使之不能匿名,然后添加这两行

guest_enable=YES
guest_username=virtual

这样就使得其他用户都映射到virtual用户。之后通过设定user_config_dir参数来实现对不同用户的不通权限设置。

Read the rest of this entry »

Tags: , ,

September 20th, 2007

透过路由器搭建ftp站点

暑假时用教育网的时候,因为是分配的固定ip,所以用serv-u很容易在自己的电脑上搭建ftp,现在换成电信公网,因为是几个同学一起用路由器共享ADSL的原因,我电脑的对内和对外IP都不是固定的,不能按照旧的办法实现serv-u搭建ftp。前几天趁维护路由器的机会,稍稍研究了一下它的一些配置,发现其实在内网中用serv-u透过路由器搭建ftp站点也是可行的。

我们的路由器是D-Link的DI-504,支持”虚拟服务器”的配置。对于ftp来说,默认使用的是TCP/21端口,所以只要把个人IP地址(比如192.168.0.xxx)映射到ADSL所在的ip即可。为了方便起见,先给我的MAC地址设定一个DHCP服务器指派的静态内网IP(假设为192.168.0.101),这样就不至于以后在映射过程中不断改变我的内网IP。

然后在路由器的虚拟服务器页面把LAN端的Virtual Server FTP服务激活,并且将”个人IP地址”填写成我们刚才设定的192.168.0.101,保存并退出,至此路由器的设置已经完成。

Read the rest of this entry »

Tags: ,