我正在从事一个项目,在这个项目中,我们需要能够定期知道和报告在我们的各种Linux/Unix服务器上安装了什么软件。我看过这个,如何清点Linux服务器向客户端“服务”的软件/角色?,that和这个,开源库存代理,that,但是找不到能给我的问题提供答案的信息。我不确定OCS代理是否会像在Windows中那样在Linux/Unix服务器上报告。是否有任何脚本、开源软件、软件代理等可以在大量Linux/Unix服务器上运行,以报告安装了哪些软件和安装了哪些版本?
=========================
为清晰起见更新:
我正在寻找一种可靠的方法来确定Linux/Unix机器上是否存在特定的软件。理想情况下,这将是一种远程解决方案,我可以将它指向所讨论的服务器,并让它返回结果,指示该软件是否存在于该框中。另外,我是否应该关注与Linux/Unix主机上安装的软件有关的下列问题?
我将如何处理这些条件,同时发现软件是否存在?
发布于 2012-05-09 15:22:06
netcat重命名为purrmeow,则不要指望它,静态编译它,并通过调用libc而不是直接执行来运行它。您可以尝试使用前几个字节的内容来识别任何文件,以检查可执行幻数,然后注意没有主页的任何文件。这将照顾意外或无辜的违规装置。然而,如果有人想把一些东西放在适当的位置,并对你隐藏起来,你就会感到压力很大。
实际上,我们可以将一个可执行文件嵌入到文件的某个垃圾部分,mmap,然后内存跳入其中。有遗嘱的地方就有黑客..。因此,如果这是一个审计函数,请注意您所选择的任何方法的局限性。
发布于 2012-05-08 15:01:12
实际上,通过ssh手动编写脚本并不那么困难。
尽管如此,我认为你这样做是错误的。您应该开始通过配置管理系统进行部署,这将确保您的服务器处于特定的、可复制的、版本控制的状态。
发布于 2012-05-08 15:04:41
ErikA给你提供了很好的建议。与其猜测运行的内容,不如指定要运行的内容。
但是也许蓝图可以帮助你从你现在的状态变成你应该处于的状态。
https://serverfault.com/questions/387111
复制相似问题