[原创]ProFTPD 1.2.0 安装指南(中文版)

由 jeffwu 在 10-06-2002 10:32 发表:

[原创]ProFTPD 1.2.0 安装指南(中文版)

注:

英文原文为 ProFTPD 1.2.6 源代码根目录下的 INSTALL 文件,

中文翻译原文在 http://jeffwu.51.net/proftpd/INSTALL

请各位兄弟们多多指教,共同进步!

ProFTPD 1.2.0 安装指南(中文版)

==============================

吴伟

  1<jeffwu> [email protected] 2002.10.5   
  2  
  3  
  4  
  5\----   
  6  
  7介绍   
  8  
  9\----   
 10  
 11  
 12  
 13ProFTPD 被设计成了能在目标系统上,通过一个单一的名为'configure'的shell脚本来完   
 14  
 15成编译的配置任务.该脚本文件位于源代码树的顶层.这个由GNU autoconf 工具创建的脚本   
 16  
 17文件将会分析你的系统,创建一个'config.h'文件,使你可以清楚的编译ProFTPD。某些系   
 18  
 19统可能需要指定某些选项给'configure'或手工修改由'configure'产生的config.h文件   
 20  
 21和Makefile文件   
 22  
 23  
 24  
 25ProFTPD被设计得十分灵活,导致的编译时和运行时的额外的配置复杂性也就是必要的了。   
 26  
 27你可以基于命令行提供参数给'configure'脚本来设置编译时的选项,从而实现定制安装。   
 28  
 29特别的,可选的编译进 ProFTPD 的软件模块也可以现在这种方式。   
 30  
 31  
 32  
 33除了'configure'脚本的这些设置外,'include/options.h'文件中还包括了许多的可以很   
 34  
 35容易调整的编译时选项,可以影响ProFTPD的操作。这些选项不会被'configure'脚本所修改   
 36  
 37。每一个选项都在其自身的头文件中做了说明。这些选项几乎不需要修改,而且大部分在运行时   
 38  
 39能被proftpd.conf配置文件中的配置指令所覆盖。   
 40  
 41  
 42  
 43注意:一个RPM规格的示例文件已经包括在 contrib/dist/rpm/ 目录里了.   
 44  
 45  
 46  
 47包维护者注意:   
 48  
 49请不要去掉 ELF .comment 和 .note 部分.   
 50  
 51  
 52  
 53如果你在一个有点不太常见的(新的或旧的)系统平台上安装ProFTPD,请考虑可以记录下你   
 54  
 55的经验和大家分享。   
 56  
 57  
 58  
 59\--------   
 60  
 61系统需求   
 62  
 63\--------   
 64  
 65o ANSI/ISO C89/C90 C语言编译器, 例如:GNU gcc   
 66  
 67o GNU make, 大部分系统应该都有   
 68  
 69o ANSI C and POSIX run-time libraries   
 70  
 71o BSD sockets API   
 72  
 73o 磁盘空间: 约2.5 MB 用于解包, 6-8 MB 用于编译, 约2 MB 用于安装   
 74  
 75  
 76  
 77\--------   
 78  
 79安装指南   
 80  
 81\--------   
 82  
 83  
 84  
 850\. 计划你的安装。   
 86  
 87请在开始以前读完整个安装的所有步骤。   
 88  
 89有许多的编译定制项是你可能希望使用到的,尤其是关于用户认证的。请参考完整阅读完   
 90  
 91README.modules 文件和其他的 README.* 文件和 contrib/README.* 文件。   
 92  
 93  
 94  
 95注意,以下的模块是缺省包含了的,是不需要再明确添加了的: mod_auth, mod_core,   
 96  
 97mod_log, mod_ls, mod_site, mod_unixpw and mod_xfer.还有,如果 PAM 被   
 98  
 99检测到已经配置了的话,mod_pam 模块将会被自动包括进来。然而,有报告说某些系统   
100  
101依然要求明确的添加该模块。另外请注意,contrib/mod_test 模块是仅做测试的不具   
102  
103有任何实际的功能,请不要试图去使用它。   
104  
105  
106  
107你需要指定你系统中的共享库的搜索路径。查询你的系统和编译器的文档。通常这个操作   
108  
109是使用 -R 或 -rpath 选项的。在 AIX 系统上,需要特别小心的设置这个路径,请参   
110  
111考README.AIX。   
112  
113  
114  
115提示: 如果你的配置命令行变得长或复杂了,你可以试着把它变成为一个 sh 脚本文件,   
116  
117比如,叫: '.configcmd'。   
118  
119  
120  
121  
122  
1231\. 配置软件。   
124  
125运行源代码目录顶层的 GNU autoconf 'configure' 脚本文件来创建 config.h 文件和   
126  
127所有的 Makefiles。除了配置 ProFTPD 使其能在你的系统上进行编译之外,你还可以   
128  
129在这一步定制一些参数或给 ProFTPD 添加可选的特性。有许多配置选项可用。如果使用   
130  
131默认值的话,你只须简单的运行:   
132  
133  
134  
135$ ./configure   
136  
137  
138  
139默认下,ProFTPD的文件会被作为 'root' 用户的身份来安装,用户组属性是 /etc/group   
140  
141中的第一个组,gid为0,通常是 'root' 或 'wheel'。如果你希望采用不同的用户及用   
142  
143户组身份来安装的话,请在运行 configure 脚本前设置环境变量 install_user 和   
144  
145install_group。使用 Bourne-ish 风格的 shell (例如:sh, ksh, bash)的话,你可   
146  
147以是用以下的命令来做:   
148  
149  
150  
151$ install_user=root install_group=wheel ./configure   
152  
153  
154  
155类似的,像典型的 GNU autoconf 脚本一样,可以用这种方法设置编译系统的其他的属   
156  
157性,比如,设置编译器:   
158  
159  
160  
161$ CC=gcc CFLAGS='-O -g' ./configure   
162  
163  
164  
165其他的选项作为命令行参数传递给 configure 脚本。   
166  
167通过执行 './configure --help' 可以列出所有有效的配置参数。   
168  
169  
170  
171默认下, proftpd 和 ftpshut 安装在 /usr/local/sbin/,ftpcount 和 ftpwho 安装   
172  
173在/usr/local/bin/,配置文件在/usr/local/etc/,man帮助页在/usr/local/man/man?/.   
174  
175此外,/usr/local/var/proftpd/ 被用来存放运行时的 scoreboard 文件。参考   
176  
177'./configure --help' 输出中的 "Directory and file names" 一节中的参数来改变这   
178  
179些默认设置。 比如:把所有目录放置在 /usr/ 下而不是 /usr/local/ 下时,你可以   
180  
181使用以下命令:   
182  
183  
184  
185$ ./configure --prefix=/usr   
186  
187  
188  
189或者, 把配置文件放在 /etc/ 下,而把运行时的状态文件放在 /var/proftpd/下,你   
190  
191可以使用以下命令:   
192  
193  
194  
195$ ./configure --sysconfdir=/etc --localstatedir=/var   
196  
197  
198  
199可选的ProFTPD模块可以通过使用'--with-modules=LIST'参数包含进来,其中的'LIST'   
200  
201是一个由冒号隔开的列表。这只适用于那些 contrib/ 目录下的可选模块( modules/   
202  
203目录下的核心模块不是被强制包含了就是被默认包含了)。例如,如果你希望包括readme   
204  
205和LDAP两个模块的话,你可以使用命令:   
206  
207  
208  
209$ ./configure --with-modules=mod_readme:mod_ldap   
210  
211  
212  
213如果你希望使用系统的 shadow 密码文件来进行用户认证的话,你在某些系统上就需要   
214  
215添加上 '--enable-autoshadow' 或 '--enable-shadow'了。使用 autoshadow 的话就   
216  
217使 proftpd 既能使用 shadow 密码文件也能使用传统的密码文件。   
218  
219  
220  
221如果你希望使用 SQL 来进行用户认证的话,你必须指定 mod_sql 和一种 后台 SQL 模   
222  
223块(SQL backend module), mod_sql_mysql 或 mod_sql_postgres 。此外,后台 SQL   
224  
225模块(SQL backend module)必须紧跟在模块列表的后面给出,比如:   
226  
227'--with-modules=mod_sql:mod_sql_postgres'. 否则,编译完后,SQL认证功能是不   
228  
229能起作用。   
230  
231  
232  
233确信在你重新执行 configure 配置脚本前,首先执行了 'make distclean' 命令。   
234  
235  
236  
237  
238  
2392\. 核实正确的配置操作。   
240  
241观察 configure 脚本的输出。在 configure 脚本运行完后,你可以检查 config.h 文件,   
242  
243确信 configure 脚本没有对你的系统做任何错误的假设。   
244  
245  
246  
247  
248  
2493\. 编译这个软件。   
250  
251在源代码的顶层目录运行 'make'。在某些系统(比如:BSDI),你可能需要使用 GNU make   
252  
253(也经常称作 'gmake' 或 'gnumake')来代替系统缺省的 make。观察编译过程的输出,   
254  
255确认没有错误产生。在某些系统(特别是AIX 和 IRIX)你可能看到一些编译或连接警告。这   
256  
257些一般都可以不理睬。   
258  
259  
260  
261  
262  
2634\. 测试软件。   
264  
265从 ProFTPD 1.2.0 起,没有自动的回归(regression)测试了。   
266  
267然而,鼓励去执行你自己的 ad-hoc,手工测试。   
268  
269  
270  
271注意,你能够直接在命令行启动proftd,不过,记住,只有作为 root 运行时才能正确   
272  
273获得所有的功能特性。虽然如此,很多操作能够在没有 root 权限的情况下实现。通过   
274  
275使用命令行参数 '-c' 可以指定其他的配置文件。在配置文件中,可以改变默认的TCP   
276  
277端口 ftp (21) 和 ftp-data (20) 为其他的值,也可以指定一个其他的 passwd文件。   
278  
279既然作为守护进程不能更改它的uid,你也同样必须指定用户名和组名来匹配来启动守   
280  
281护进程。   
282  
283  
284  
285为了示范这些过程,一组配置文件示例给出在了 sample-configurations 目录下。   
286  
287  
288  
289% sh sample-configurations/PFTEST.install   
290  
291Sample test files successfully installed in /tmp/PFTEST.   
292  
293% ./proftpd -n -d 5 -c /tmp/PFTEST/PFTEST.conf   
294  
295  
296  
297然后,打开另一个窗口,连接到非特权端口。PFTEST.conf 使用了 2021 端口,而   
298  
299PFTEST.passwd 定义了一个用户名和密码都为 "proftpd" 的用户。使用传统的 Unix   
300  
301ftp 客户端软件连接的话,应该会得到以下的状态:   
302  
303  
304  
305% ftp -n -d   
306  
307ftp&gt; open <hostname> 2021   
308  
309ftp&gt; user proftpd   
310  
311\---&gt; USER proftpd   
312  
313331 Password required for proftpd.   
314  
315Password: [proftpd]   
316  
317\---&gt; PASS proftpd   
318  
319230 User proftpd logged in.   
320  
321ftp&gt;   
322  
323  
324  
325提供的 PFTEST.passwd 文件是传统 Unix 格式的。你所使用的系统可能采用了不同的   
326  
327文件格式,这样你就需要自己创建了。此外,如果 PFTEST.install 脚本失败的话,你   
328  
329就不得不使用另外一种方式在 PFTEST.conf 文件中加入你的用户和用户组了。   
330  
331  
332  
333如果你遇到了任何问题,请先确定你阅读了下面的"疑难解答"和"帮助"部分。   
334  
335  
336  
337  
338  
3395\. 打包软件。   
340  
341从 ProFTPD 1.2.0 起, 除了 contrib/dist/rpm/ 目录下的RPM规格包含外不再提供其   
342  
343他的打包程序了。   
344  
345  
346  
347  
348  
3496\. 安装软件。   
350  
351注意:这一步已经以下的几步可能需要拥有 root 权限。   
352  
353在源代码树的顶层运行 'make install' 命令来进行安装,除非是已经创建了某系统下   
354  
355的特定的安装包(比如:RPM)。这一步将会安装ProFTPD的执行文件、man帮助页和拷贝至   
356  
357'sample-configurations/basic.conf'的基本配置文件。这个基本配置文件在系统中   
358  
359的路径默认是'/usr/local/etc/proftpd.conf',不过,也可在第一步中改成别的。   
360  
361  
362  
363如果已经创建了软件安装包,请依照安装包系统合适的过程来安装ProFTPD的包。   
364  
365  
366  
367  
368  
3697\. 修改 proftpd 的配置文件。   
370  
371如果在 proftpd.conf 中指定的用户和用户组在你的系统中不存在时,proftpd将不能   
372  
373运行。请根据需要编辑和修改 proftpd.conf。大多数系统用 "nobody" 组来代替   
374  
375"nogroup" 组。根据你运行 proftpd 的方式,要么采用超级服务器的方式( inetd 或   
376  
377xinetd ),要么作为一个独立服务器(standalone daemon)来运行,编辑 proftpd.conf   
378  
379文件,改变 ServerType 指令来匹配你的选择,不是 "ServerType inetd" 就是   
380  
381"ServerType standalone"。第四步 'make install' 时安装的 "basic.conf" 配置   
382  
383文件中默认是设置成 "standalone" 的。   
384  
385  
386  
387  
388  
3898\. 修改超级服务器 inetd 的配置文件。   
390  
391编辑 /etc/inetd.conf 文件,之后发送 -HUP 信号给 inetd 进程,使其重新读取更新   
392  
393的配置文件。某些系统利用其他的机制去告诉 inetd 去重新读取它的配置文件,比如:   
394  
395AIX采用 'refresh -s inetd'。查看你的系统文档来找到合适的命令。   
396  
397  
398  
399如果 proftpd 从 inetd运行,在 /etc/inetd.conf 中查找像下面内容的行:   
400  
401  
402  
403ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd   
404  
405  
406  
407然后将其替换成:   
408  
409  
410  
411ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd   
412  
413  
414  
415或者,如果你系统中安装了 tcp wrappers ,修改成的行的内容可能会像下面这样:   
416  
417  
418  
419ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/proftpd   
420  
421  
422  
423如果 proftpd 是运行在 standalone 模式,你需要注释掉 /etc/inetd.conf 中任何与   
424  
425ftp 相关的行,方法是在每一行的最开头插入一个 '#'。然后发送消息来使 inetd 进程   
426  
427重新读取 /etc/inetd.conf。   
428  
429  
430  
431如果你的系统使用 xinetd 来代替 inetd的话,要么编辑 /etc/xinetd.conf 文件,   
432  
433要么在 /etc/xinetd.d/ 目录中增加一个名为 proftpd 文件,内容类似如下:   
434  
435  
436  
437service ftp   
438  
439{   
440  
441flags = REUSE   
442  
443socket_type = stream   
444  
445instances = 50   
446  
447wait = no   
448  
449user = root   
450  
451server = /usr/sbin/proftpd   
452  
453bind = <the-ip-you-wish-to-bind-to>   
454  
455log_on_success = HOST PID   
456  
457log_on_failure = HOST RECORD   
458  
459}   
460  
461  
462  
463更多的信息可以在 FAQ、用户手册以及你系统中的 xinetd 文档中找到。   
464  
465  
466  
467  
468  
4699\. 修改系统启动脚本。   
470  
471如果作为 standalone 模式来运行的话,你可能需要编辑你系统中的启动脚本来使   
472  
473proftpd 在系统启动时自动运行。那些使用 SysV 类型的单个启动脚本的系统,在原   
474  
475代码中包括了一个 init 脚本的示例: "contrib/dist/rpm/proftpd.init.d"   
476  
477  
478  
479  
480  
48110\. 创建运行时状态目录。   
482  
483为了使 MaxClients 和 MaxClientsPerHost 指令以及 ftpwho 和 ftpcount 工具能够   
484  
485工作,proftpd必须要有一个目录来彼此它的记分板(scoreboard)文件。缺省使位于   
486  
487'/usr/local/var/proftpd/'的,不过,它可以在安装配置过程的第一步中进行修改。   
488  
489默认的位置还可以在运行时被 proftpd.conf 配置文件中的 "ScoreboardPath" 指令   
490  
491的值所覆盖。不管使用的哪个目录,它都必须在启动 proftpd 前就已经预先存在了。   
492  
493如果你是采用的是软件包安装方式安装的,安装脚本可能已经创建了缺省的目录了。虽   
494  
495然如此,如果它没有的话,你必须手工创建。这个目录没有什么特殊的权限要求,除非   
496  
497你希望限制 ftpwho 和 ftpcount 的运行。   
498  
499  
500  
501  
502  
50311\. 核实操作。   
504  
505一旦 proftpd 以 inetd 模式或 standalone 模式运行起来了,试着 ftp 到你的系统   
506  
507中以确信一切已经开始运行了。如果你遇到了问题,请查看下面的"疑难解答"和"帮助"   
508  
509部分。   
510  
511  
512  
513  
514  
51512\. 定制 proftpd 配置文件。   
516  
517如果你希望添加一个匿名 ftp 或另外创建一个更完善的 ftp 配置文件,请阅读更多的   
518  
519有关 ProFTPD 配置方面的文档:   
520  
521  
522  
523配置文件示例: sample-configurations/*.conf   
524  
525配置参考文档: doc/Configuration.html   
526  
527配置 FAQ: doc/FAQ-config.html   
528  
529文档: http://pdd.sourceforge.net/   
530  
531http://www.proftpd.org/docs/   
532  
533FAQ: http://pdd.sourceforge.net/faq/proftpdfaq.html   
534  
535  
536  
537注意,某些系统为匿名ftp和任何其他 chroot 目录的预备需要特定的系统特性。同样,   
538  
539需要清楚,对于"PersistentPasswd"、RequireValidShell"和"UseFtpUsers"这样的配   
540  
541置指令需要给予特别的注意。   
542  
543  
544  
545为检查新的或修改过的配置文件,可在命令行下运行'proftpd -t -c <new_conf_file>'   
546  
547命令。   
548  
549  
550  
551你可以在不妨碍一个正在运行的服务器的情况下,通过在另一个不同端口运行一个分离   
552  
553的测试服务器来测试你的配置文件中的实际功能。通过配置文件中的 "Port" 指令来指   
554  
555定要使用到的端口,不过,在将新配置文件应用到最终服务器时不要忘记将端口号改回   
556  
557来。   
558  
559  
560  
561  
562  
563祝您好运!   
564  
565  
566  
567  
568  
569  
570  
571\--------   
572  
573疑难解答   
574  
575\--------   
576  
577  
578  
579这个部分很不完全,请参考FAQ和其他的资源来获得更多协助。   
580  
581  
582  
583  
584  
585T1. 编译时的很多问题通过给出正确的选项和到编译器的搜索路径就可以很容易的解决了。   
586  
587然而,有些问题确实解决起来很困难。常常有问题是因为头文件或C语言的预处理宏名   
588  
589有冲突而产生的。少数包(packages)已经知道安装 conf.h 头文件在   
590  
591/usr/local/include.有时,必须要求助于查看预处理器的输出才行。尽管类似于   
592  
593`cc -E file.c`的命令经常可以解决,不过,还是请参考你的编译器文档,从而决定   
594  
595应该怎么做。   
596  
597  
598  
599一些常见的错误信息包括:   
600  
601  
602  
603o "symbol ap_signal undefined in main.o"   
604  
605这通常意味着 fnmatch.h 头文件被包括在了 Apache 的 ap_config.h   
606  
607头文件中,尽管 proftpd 并没有链接 Apache 的库。这个错误主要产生   
608  
609在 Solaris 8 系统上,不过,类似的问题也曾经在 Red Hat 6.0 系统   
610  
611中的 <hsregx.h> 头文件上被报告过。   
612  
613  
614  
615  
616  
617T2. 如果你遇到了运行时问题,先检查你的系统日志(syslog)中的消息。proftpd 守护进程   
618  
619记录了它遇到的所有错误情况,包括解析配置文件时出现的问题。认证相关的消息被系统   
620  
621日志工具 "auth" 或 "authpriv" (如果可用的话) 记录下来。其他所有的消息使用   
622  
623系统日志的守护进程工具来记录,除非使用命令行选项 "-n" 或 SyslogFacility 、   
624  
625SystemLog 指令来进行重定向。查看你系统中的 syslogd.conf 来了解 syslogd   
626  
627怎么处理这些消息。   
628  
629  
630  
631一些常见的错误信息包括:   
632  
633  
634  
635o "inet_create_connection() failed: Operation not permitted"   
636  
637这通常意味着proftpd不是以root用户的身份开始运行的。   
638  
639  
640  
641o "bind: unable to bind to port" or "Address already in use"   
642  
643这通常意味着另外一个进程已经在使用指定的ftp端口了,不是inetd、xinetd   
644  
645就是另外一个正在运行着的FTP服务器。   
646  
647  
648  
649o "Fatal: Socket operation on non-socket"   
650  
651这通常意味着在 proftpd.conf 配置文件中 ServerType 指令被配置成 inetd   
652  
653(超级服务器)方式而不是 standalone(独立服务器) 方式来运行。   
654  
655  
656  
657o "received: PASS (hidden)"   
658  
659"ProFTPD terminating (signal 11)"   
660  
661这通常意味着要求的 shadow passwd 文件支持没有被编译进去。试着回到编译   
662  
663的第一步,要么添加 '--enable-autoshadow' ,要么添加 '--enable-shadow'   
664  
665选项到 configure 的命令行中重新编译。   
666  
667  
668  
669o "Fatal: unknown configuration directive 'AuthPAMAuthoritative'   
670  
671on line NN of '/etc/proftpd.conf'."   
672  
673This means that either 'AuthPAMAuthoritative' was misspelld or   
674  
675这意味着要么 'AuthPAMAuthoritative' 拼写错了,要么 mod_pam 没有被编译   
676  
677到ProFTPD中去。如果是后者,你需要重新配置、编译proftpd,使用   
678  
679"./configure --with-modules=mod_pam ..."选项明确的添加上模块 mod_pam。   
680  
681  
682  
683如果系统不能登录而你的系统使用了PAM认证的话,你还需要配置PAM和FTP一起工作。更多的   
684  
685细节,请参考你系统的PAM文档。如果你选择的是软件包的安装方式的话,希望PAM的配置工作   
686  
687是自动完成的。在 Linux 系统,下面的命令也许会有用:   
688  
689  
690  
691% cp -p contrib/dist/rpm/ftp.pamd /etc/pam.d/ftp   
692  
693  
694  
695如果登录的FTP客户端出现了类似 "server error 500, server shut down" 的信息的   
696  
697话,可能意味着你的系统中有一个失效的 /etc/shutmsg 文件存在。你应该删掉它。   
698  
699  
700  
701  
702  
703T3. 使用 "-d N" 命令行选项来启动 proftpd 守护进程,你可以得到更多的调试信息,其中 N   
704  
705的范围从1 到 5,值越大,调试信息的数目也越大。如果你采用 standalone的方式运行的   
706  
707话,使用 "-n" 选项将会阻止守护进程脱离你的终端,使所有的调试信息直接显示在你的终   
708  
709端上,而不是记在系统日志中(being syslogged)。   
710  
711  
712  
713  
714  
715T4. 如果你遇到的问题通过错误信息还是不能很好解决的话,你可以检查一下在官方的发布站点   
716  
717上是不是有更新的 ProFTPD 发布,或许你的问题已经在新版本中解决了。了解什么样的问   
718  
719题已经在新版本中得到了解决的最快的方式是阅读每一个新发布版本中的 ChangLog 文件。   
720  
721  
722  
723  
724  
725T5. 如果你的系统中有系统调用跟踪工具的话,你可以使用它来诊断什么失败了。这个方法经常用   
726  
727来侦察(spot)文件打开错误,包括共享库(shared libraries)。   
728  
729  
730  
731一些系统调用跟踪工具:   
732  
733o truss (Solaris, SVR4 的派生, Unixware, AIX5L, FreeBSD)   
734  
735o trace (SunOS 4.x)   
736  
737o tusc (HP/UX 11.x: ftp://ftp.cup.hp.com/dist/networking/misc/ )   
738  
739trace (HP/UX 10.x: ftp://hpux.cs.utah.edu/hpux/Sysadmin/trace-1.6/ )   
740  
741http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/trace-1.6/   
742  
743http://devresource.hp.com/devresour...ary.html#perfhp   
744  
745o syscalls, trace (AIX 4.x); sctrace (AIX: [$$$] http://www.tkg.com )   
746  
747o par (IRIX)   
748  
749o alpha-trace (Digital Unix: ftp://ftp.mrc-lmb.cam.ac.uk/pub/jkb/ )   
750  
751o ktrace/kdump (NetBSD, OpenBSD)   
752  
753o strace, ktrace/kdump, ltrace (Linux)   
754  
755  
756  
757  
758  
759T6. 另外一个诊断技术是监视FTP客户端和ProFTPD服务器端的FTP协议通信情况。许多FTP客户端   
760  
761应用程序有一个调试和跟踪的选项。尽管需要有详细的FTP协议的知识来进行分析,不过,可以   
762  
763可以使用 telnet 来连接并直接和 proftpd 服务器 对话。最后,FTP协议的会话情况能够使   
764  
765用网络监视工具来跟踪,像tcpdump、etherfind、snoop和netnoop。   
766  
767  
768  
769  
770  
771T7. 更进一步的调试可能需要使用调试器了,而使用调试器就可能需要使用调试选项重新编译一遍   
772  
773proftpd 了。请参考你的编译器和调试器的相关文档。   
774  
775  
776  
777  
778  
779\----   
780  
781帮助   
782  
783\----   
784  
785  
786  
787H1. 在你向邮件列表上</hsregx.h></new_conf_file></the-ip-you-wish-to-bind-to></hostname></jeffwu>
Published At
Categories with 服务器类
Tagged with
comments powered by Disqus