UNIX/LINUX教程---建立LINUX下的FTP服务器(下)
一、wu-ftp常用命令介绍
1、ftpcount
这个程序可以用来统计当前连接的用户数目,并给出上限,如下列所示:
./home/ftp/ftpcount
service class-local 5 Users(20maximum)
Service class remot 14 Users(100maximum)
表示正在连线的用户属于local的有5人,上限为20人;属于remote的用户有14人,上限为100人。
2、ftpwho
这程序用于查询当前连接用户的详细情况。如下所示:
./home/ftp/ftpwho
Server class local:
0 users (20maximum)
Server class remote:
0 402 305 47 3 0 94 755 13d439 S ? 0:01 -linux.filter
0 402 302 47 3 0 95 543 13d439 S ? 0:01 -linux.filter
0 402 302 47 3 0 95 563 13d439 S ? 0:01 -linux.filter
0 402 302 47 3 0 95 643 13d439 S ? 0:01 -linux.filter
- 5users(100maximum)
3、ftpshut
这个程序的主要功能是生成文件/etc/shutmsg,也就是我们在前面/etc/ftpaccess中设定的shutdown命令,ftpshut的使用格式如下:
ftp <-l min> <-d min> time <说明>
各个参数的说明如下:
-l 这个参数设定在关闭FTP服务器功能前多长时间停止用户的连接;
-d 这个参数设定在关闭FTP服务器功能前多长时间将用户断线;
Time 这个参数指定关闭FTP服务器功能的时间,如想
在8点半关闭机器,这里可以写0830。
<说明> 这里可以最多输入75个字符,向用户说明FTP服务器的情况。
例如:
ftpshut –l15 –d30 1600
则产生的/etc/shutmsg文件内容如下:
1997 08 30 16 00 0015 0030
System shutdown at %s
二、配置虚拟FTP站点
有时,你可能有在一台机器上配置多个FTP服务器的需求,这时该怎么做呢?这种情况一般出现在对网络中处于不同域的网络段设置不同的FTP服务器,如果在多台机器上分别安装FTP服务器显然太过浪费了,wu-ftpd的虚拟FTP服务可以满足这个要求。
安装虚拟FTP服务器的步骤如下:
1、在机器上配置多个IP地址。设置别名IP地址,即在一块网卡上绑定多个IP地址。
如你的内部FTP主机为192.168.11.12,你可再绑定一个IP地址如下:
/sbin/ifconfig eth0:0 192.168.11.7 up
/sbin/route add -host 192.168.11.7 eth0:0
2、安装并配置wu-ftpd使其支持虚拟FTP服务。
首先查看/src/config.h文件中是否有#define VIRTUAL这一行,如果没有手工加上。然后检查pathnames.h,确定正确的设置了安装目录。
为了测试方便,下面将所有的目录设置都放在了ftpd 目录下,pathnames.h中关于目录的设置如下:
#define _PATH_FTPUSERS "/etc/ftpd/ftpusers"
#define _PATH_FTPACCESS "/etc/ftpd/ftpaccess"
#define _PATH_CVT "/etc/ftpd/ftpconversions"
#define _PATH_PRIVATE "/etc/ftpd/ftpgroups"
#define _PATH_FTPSERVERS "/etc/ftpd/ftpservers"
#define _PATH_FTPHOSTS “/etc/ftpd/ftphosts”
#define _PATH_PIDNAMES “/etc/ftpd/ftp.pids-%s”
然后执行build lnx和make install。
3、为每个虚拟服务器设置一个ftp目录,并针对每个不同的虚拟服务器设置不同的提示欢迎信息。
下面看看ftpd目录下的各个子目录,目录中的内容如下所示:
/etc/ftpd:
total 36
drwxrwsr-x 2 root sys 512 Jun 26 19:22 bin
drwxrwsr-x 4 root sys 512 Jun 26 15:48 config
-rw-r--r-- 1 root sys 4096 Jun 26 19:23 ftp.pids-local
-rw-r--r-- 1 root sys 4096 Jun 26 19:33 ftp.pids-remote
-rw------- 1 root sys 2046 Jun 26 14:55 ftpaccess
-rw------- 1 root sys 873 Jun 26 14:55 ftpconversions
-rw------- 1 root sys 37 Jun 26 14:55 ftpgroups
-rw------- 1 root sys 277 Jun 26 14:55 ftphosts
-rw------- 1 root sys 429 Jun 26 16:03 ftpservers
-rw------- 1 root sys 151 Jun 26 14:55 ftpusers
drwxrwsr-x 6 root sys 512 Jun 26 14:56 man
/etc/ftpd/bin:
total 1848
-rwxr-xr-x 1 bin bin28312 Jun 26 19:22 ftpcount
-rwxr-xr-x 1 bin bin37512 Jun 26 19:22 ftprestart
-rwxr-xr-x 1 bin bin47264 Jun 26 19:22 ftpshut
-rwxr-xr-x 1 bin bin28312 Jun 26 19:22 ftpwho
-rwxr-xr-x 1 bin bin 385568 Jun 26 19:22 in.ftpd
/etc/ftpd/config:
total 12
drwxrwsr-x 2 root sys 512 Jun 26 16:04 some.domain
drwxrwsr-x 2 root sys 512 Jun 26 16:06 some.other.domain
drwxrwsr-x 2 root sys 512 Jun 26 15:01 landfield.com
/etc/ftpd/config/some.domain:
total 6
-rw------- 1 root sys 1891 Jun 26 16:03 ftpaccess
-rw------- 1 root sys 146 Jun 26 16:05 ftpusers
/etc/ftpd/config/some.other.domain:
total 6
-rw------- 1 root sys 1891 Jun 26 16:03 ftpaccess
-rw------- 1 root sys 1891 Jun 26 16:03 ftpaccess
-rw------- 1 root sys 146 Jun 26 16:05 ftpusers
/etc/ftpd/config/landfield.com:
total 4
-rw------- 1 root sys 2046 Jun 26 15:01 ftpaccess
/etc/ftpd/man:
total 8
drwxrwsr-x 2 root sys 512 Jun 26 19:22 man1
drwxrwsr-x 2 root sys 512 Jun 26 19:22 man1m
drwxrwsr-x 2 root sys 512 Jun 26 19:22 man5
drwxrwsr-x 2 root sys 512 Jun 26 14:56 man8
/etc/ftpd/man/man1:
total 4
-r--r--r-- 1 bin bin 374 Jun 26 19:22 ftpcount.1
-r--r--r-- 1 bin bin 450 Jun 26 19:22 ftpwho.1
/etc/ftpd/man/man1m:
total 28
-r--r--r-- 1 bin bin 805 Jun 26 19:22 ftprestart.1m
-r--r--r-- 1 bin bin10813 Jun 26 19:22 in.ftpd.1m
/etc/ftpd/man/man5:
total 40
-r--r--r-- 1 bin bin15341 Jun 26 19:22 ftpaccess.5
-r--r--r-- 1 bin bin 1004 Jun 26 19:22 ftpconversions.5
-r--r--r-- 1 bin bin 683 Jun 26 19:22 ftphosts.5
-r--r--r-- 1 bin bin 2531 Jun 26 19:22 xferlog.5
-r--r--r-- 1 bin bin 2177 Jun 26 19:22 ftpshut.1m