如何验证禁用或停止的unix / linux服务是否具有有效的二进制路径?

时间:2014-04-25 15:30:07

标签: linux unix service binary which

我想找出一个给定的禁用或停止的unix / linux服务,我们可以验证它是否有一个有效的二进制路径?

我不确定是否有必要查看这个?我是unix / linux世界的新手。 或者默认情况下,所有已安装的unix / linux服务都是通过其二进制文件和路径来验证的吗?

例如,安装的unix / linux服务,sshd。 通过命令" service sshd status"检查其状态。 然后,使用命令" sshd"。

检查其二进制路径

有没有更好的方法来检查这个?

如果我想检查已停止或禁用的所有停止/禁用的unix / linux服务?

请就此事提出建议。

非常感谢。

1 个答案:

答案 0 :(得分:0)

现代GNU / Linux-Distributions允许使用软件管理系统管理软件安装。不同的这样的系统正在使用中,但它们都有一个共同的原则:一个包本身就包含了所有依赖关系,安装依赖性,配置和运行时的描述。在安装之前检查所有这些依赖项。因此,与强制执行任何操作不同,可以保证如果安装了包,则满足其所有要求。

查看sshd(openssh守护程序)的示例,这意味着: 如果您安装了此软件包,那么您可以依赖于所有必需组件都已安装并在其版本中匹配等事实。在这种情况下,守护程序控制脚本和主可执行文件实际上包含在同一个包中,这对于所有守护程序包都是典型的。因此,如果安装了该软件包,则会安装其所有内容。

您可以手动检查包中是否包含所有包含的文件。但是,如果你真的觉得必须这样做,例如,如果你怀疑某些东西被某种意外删除(这对于这样的系统文件实际上很难),那么你可以要求软件管理系统验证包的完整性!例如,在openSUSE系统上,您可以说zypper verify sshd。该命令验证两者:如果该包中提到的所有文件实际存在,则是最初安装(未更改)并具有正确权限的文件。此外,还检查所有包依赖性。因此,如果没有抛出任何错误,你可以完全依赖于一切都很好的事实。

这显然是一个例子,不同的发行版使用不同的管理系统,如上所述。但它们都提供或多或少相同的功能。一旦你理解了这种方法背后的想法,你可能再也不想错过那种优雅和安全......