rc.d 中的服务不会在启动时自动启动

rc.d 中的服务不会在启动时自动启动

我在 rc.d 中有一些服务无法在启动时启动。我已完成 update-rc.d,重新执行后发现启动/停止链接已到位,我可以使用 service start 手动启动服务。

其中一个服务 (sabnzbdplus) 是从 apt 中提取的,其他服务是从 git 下载的。它们均不会自动启动。

除了重新安装整个系统之外,Google 上似乎没有其他办法。有什么建议吗?

答案1

我通过 chuser 处理相关文件/目录(包括设置)来更正此问题。我相信发生这种情况的原因是使用 sudo 启动和停止服务会赋予它们 root 权限,而它们在启动时以用户帐户运行。

答案2

'nix 中的文件夹及其后续文件由用户 + 组 + 其他所有人拥有/操作。当 root 拥有该文件夹中的文件夹/文件时,只有 root 可以将这些文件夹/文件用于任何目的,除非允许其他人使用相同的文件夹/文件。

在这种情况下,脚本归 root 所有,因此任何用户都无法运行它们,除非发生两件事。1)root 通过将权限更改为 777(任何人读取、写入和执行)等来允许任何人运行它们,或者 2)将用户与 root 放在同一组中,从而为用户分配相同的权限。

但两者并不相同。1 赋予所有用户使用权(可能有危险),而所有权仍属于 root,但 2 通过将所有权纳入同一组来与用户共享所有权(只暴露给一个用户可能更易于管理)。

我倾向于使用 1,但这是个人偏好,而且因为我很懒,运行一个脚本(如“sudo chmod -R 777 /etc/init.d/couchpotato”)就可以解决我的问题(请注意,我的系统是隔离的,所以它对我来说有效,而 2 可能是开放或不那么封闭的系统的最佳解决方案。希望这对其他人有所帮助

相关内容