就是另外一个正在运行着的FTP服务器。
o "Fatal: Socket operation on non-socket"
这通常意味着在 proftpd.conf 配置文件中 ServerType 指令被配置成 inetd
(超级服务器)方式而不是 standalone(独立服务器) 方式来运行。
o "received: PASS (hidden)"
"ProFTPD terminating (signal 11)"
这通常意味着要求的 shadow passwd 文件支持没有被编译进去。试着回到编译
的第一步,要么添加 '--enable-autoshadow' ,要么添加 '--enable-shadow'
选项到 configure 的命令行中重新编译。
o "Fatal: unknown configuration directive 'AuthPAMAuthoritative'
on line NN of '/etc/proftpd.conf'."
这意味着要么 'AuthPAMAuthoritative' 拼写错了,要么 mod_pam 没有被编译
到ProFTPD中去。如果是后者,你需要重新配置、编译proftpd,使用
"./configure --with-modules=mod_pam ..."选项明确的添加上模块 mod_pam。
如果系统不能登录而你的系统使用了PAM认证的话,你还需要配置PAM和FTP一起工作。更多的
细节,请参考你系统的PAM文档。如果你选择的是软件包的安装方式的话,希望PAM的配置工作
是自动完成的。在 Linux 系统,下面的命令也许会有用:
% cp -p contrib/dist/rpm/ftp.pamd /etc/pam.d/ftp
如果登录的FTP客户端出现了类似 "server error 500, server shut down" 的信息的
话,可能意味着你的系统中有一个失效的 /etc/shutmsg 文件存在。你应该删掉它。
T3. 使用 "-d N" 命令行选项来启动 proftpd 守护进程,你可以得到更多的调试信息,其中 N
的范围从1 到 5,值越大,调试信息的数目也越大。如果你采用 standalone的方式运行的
话,使用 "-n" 选项将会阻止守护进程脱离你的终端,使所有的调试信息直接显示在你的终
端上,而不是记在系统日志中(being syslogged)。
T4. 如果你遇到的问题通过错误信息还是不能很好解决的话,你可以检查一下在官方的发布站点
上是不是有更新的 ProFTPD 发布,或许你的问题已经在新版本中解决了。了解什么样的问
题已经在新版本中得到了解决的最快的方式是阅读每一个新发布版本中的 ChangLog 文件。
T5. 如果你的系统中有系统调用跟踪工具的话,你可以使用它来诊断什么失败了。这个方法经常用
来侦察(spot)文件打开错误,包括共享库(shared libraries)。
一些系统调用跟踪工具:
o truss (Solaris, SVR4 的派生, Unixware, AIX5L, FreeBSD)
o trace (SunOS 4.x)
o tusc (HP/UX 11.x: ftp://ftp.cup.hp.com/dist/networking/misc/)
trace (HP/UX 10.x: ftp://hpux.cs.utah.edu/hpux/Sysadmin/trace-1.6/)
http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/trace-1.6/
http://devresource.hp.com/devres ... Library.html#perfhp
o syscalls, trace (AIX 4.x); sctrace (AIX: [$$$] http://www.tkg.com)
o par (IRIX)
o alpha-trace (Digital Unix: ftp://ftp.mrc-lmb.cam.ac.uk/pub/jkb/)
o ktrace/kdump (NetBSD, OpenBSD)
o strace, ktrace/kdump, ltrace (Linux)
T6. 另外一个诊断技术是监视FTP客户端和ProFTPD服务器端的FTP协议通信情况。许多FTP客户端
应用程序有一个调试和跟踪的选项。尽管需要有详细的FTP协议的知识来进行分析,不过,可以
可以使用 telnet 来连接并直接和 proftpd 服务器 对话。最后,FTP协议的会话情况能够使
用网络监视工具来跟踪,像tcpdump、etherfind、snoop和netnoop。
T7. 更进一步的调试可能需要使用调试器了,而使用调试器就可能需要使用调试选项重新编译一遍
proftpd 了。请参考你的编译器和调试器的相关文档。
----
帮助
----
H1. 在你向邮件列表上请求帮助前,先浏览一下有效的文挡,包括:FAQ、邮件列表上可搜索的档案。