ProFTPD 行为奇怪,似乎是重复安装

ProFTPD 行为奇怪,似乎是重复安装

我在 Ubuntu 20 LTS 上全新安装 ProFTPD 时遇到了一个奇怪的问题。
我注意到,在更改配置文件上的某些选项后,运行时services proftpd restart修改不适用,只有重新启动系统后更改才会生效。

所以我尝试停止服务,services proftpd stop但我可以继续与 ftp 客户端连接。所以这里有些奇怪。你能帮我验证一下吗?

一些输出

root@b205d:~# which proftpd
/usr/sbin/proftpd
root@b205d:~# whereis proftpd
proftpd: /usr/sbin/proftpd /usr/lib/proftpd /etc/proftpd /usr/share/proftpd /usr/share/man/man8/proftpd.8.gz

答案1

  1. 检查 的输出systemctl status proftpd.service。您应该看到带有 PID 规范的正在运行的进程树。

  2. 然后检查 的输出ss -tlnp sport == :21。您将看到 ftp 控制连接的监听套接字和拥有这些套接字的 pid 的进程。

  3. 比较上面两个命令的 PID。

  4. 检查 的输出systemctl cat proftpd.service。可能读取了一些环境变量。(部分Environment的语句[Service])。还要检查Type里面的语句[Service]。错误的值可能会导致奇怪的效果。

  5. 尝试重新加载/重新启动 proftpd (systemctl reload proftpd.servicesystemctl restart proftpd.service)。检查的输出journalctl -u proftpd.service

  6. 尝试停止 proftpd 服务并使用状态输出中显示的相同命令行手动运行它。尝试更改配置并向服务发送重新加载信号。

  7. 如果以上方法均无效,请在 strace 下运行 proftpd 并深入了解内部情况。

答案2

从 Ubuntu 16 开始,大多数服务都通过 systemd 控制。您可以通过 systemctl 命令操作 systemd 服务。

要在 Ubuntu 20 上重新启动 proftpd,您需要使用以下命令:

systemctl restart proftpd.service

然后查看它是否正在运行:

systemctl status proftpd.service

相关内容