我正在尝试在我的根服务器上激活 Ftpservice,我已经安装了 OpenSuse,并且我正在使用 xinetd 方法。
我将其添加到我的 xineted.conf 中:
service ftp
{
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.proftpd
disable = no
}
我对此不太确定server = /usr/sbin/in.proftpd
。我直接在 xinetd.config 中添加了代码,而不是在单独的文件中添加。
并将我的 proftpd.conf 作为 profdtp 的文档(已设置):
ServerType inetd
然后我重新启动了 xinetd 服务,没有看到任何错误,但 proftpd 仍然没有启动。我在谷歌上搜索了很多,但他们到处都说按照我上面说的做,仅此而已。我是不是漏掉了什么?
答案1
您如何检查 FTP 服务是否正在运行?进程表将不包含任何正在运行的 proftpd,因为您是通过 xinetd 而不是作为独立守护进程来运行它的:当有人连接到端口 21 时,xinetd 会应答,然后调用 proftpd 来处理连接。如果您通过 telnet 连接到服务器的 TCP 端口 21,会发生什么情况?
之后,如果连接失败,请验证 /usr/sbin/in.proftpd 是否存在。如果不存在,您可以尝试更改 xinetd 配置以使用 /usr/sbin/proftpd。
答案2
xinetd 将日志消息发送到 syslog。尝试查看 /var/log/messages,看看是否有任何诊断消息可以指出问题所在。
您是否尝试从 YaST->网络服务设置 xinetd?
您是否有什么特殊原因必须使用 Proftpd?有 vsftpd 和 pure-ftpd 软件包,使用 YaST 可能更容易配置。