Proftpd 在启动时不初始化

Proftpd 在启动时不初始化

我是新来的,我也是一个新的linux用户,我使用的是debian 12。我配置了proftpd服务并满足我的需求,但是当我重新启动操作系统时,该服务不会自动启动操作系统加载。

我必须运行“systemctl start 或 restart proftpd”命令才能使系统正常工作。

我确实需要 proftpd 在连接到服务器时自动工作。

答案1

如果systemctl status proftpd没有说明该服务当前已启用,您需要systemctl enable proftpd告诉 systemd 该服务应该在启动时启动。

相反,如果您想阻止某个服务在启动时启动,您可以systemctl disable <service name>.


Debian 12proftpd还包括以下规定套接字激活:使用一个proftpd.socket单元时,systemd被告知代表 开启一个侦听套接字proftpd,并且只有当第一个传入 FTP 连接尝试到达时,systemd 才会启动实际proftpd服务,并且传入的 FTP 连接将移交给它。这类似于经典的inetdxinetd与某些服务的使用方式,以最大限度地减少空闲时的系统资源使用。具体proftpd而言,此操作模式需要配置行:

ServerType inetd

/etc/proftpd/proftpd.conf

但既然你说systemctl start proftpd让服务为你工作,你似乎已经配置了 proftpd 进行独立操作,所以套接字激活与你无关。在这种情况下,您可以(并且应该)禁用该proftpd.socket设备,并让

ServerType standalone

proftpd的配置中。

答案2

此问题也存在于 Ubuntu 22.04 上,例如在 Azure Cloud 中。原因是,只要 proftpd 无法将其自身解析/etc/hostname为 IP,守护进程就会启动。后来就可以解决了。

作为解决方法添加

[...]
127.0.0.1 your-servername-from-etc-hostname
[...]

应该/etc/hosts有效。

但老实说,deb 软件包维护者应该通过正确的 systemd 配置来解决这个问题。

相关内容