问题标签 [inspec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1306 浏览

rspec - Chef InSpec 中的嵌套资源

是否可以在 Chef InSpec 的其他资源中使用一种资源?

例子:

它会引发如下错误:

实际上我想要做的是我需要运行一个安装在其他用户中的实用程序,我必须检查从该会话返回的输出并验证它。例子 :

  • 我以srijava用户身份安装了 java
  • 现在在 Inspec 中,我编写了测试 Java 版本的命令(假设java -version仅在该用户中运行,而不是以root身份运行)。
  • 如果我使用su srijava,那么我不会将输出返回到根会话并且测试失败
  • 如果我没有运行,su srijava那么我的实用程序将抛出用户不是SriJava的错误

代码su

没有的代码su

我怎样才能做到这一点?

0 投票
2 回答
1724 浏览

ruby - Chef InSpec 中的文件名

在 Ruby 中,*用于表示文件的名称。

例如,/home/user/*.rb将返回所有以.rb. 我想在 Chef InSpec 中做类似的事情。

例如:

它应该给我目录中的所有文件,/home/user并检查该目录中是否存在文件。换句话说,我想在 Chef 中检查这个目录是否为空。

我怎样才能做到这一点?

0 投票
1 回答
160 浏览

ruby - 在删除文件之前使用 Chef InSpec 资源

我正在运行 Chef InSpec 命令资源,该资源将命令的输出与文件中的某些内容相匹配。然后我在使用以下资源后删除该文件。但是以下命令返回""并且测试失败。

但是当我不删除文件时,上面的命令会返回预期的输出。InSpec 资源和删除文件是否有任何问题?

0 投票
1 回答
444 浏览

chef-infra - Windows 中的 InSpec 命令太慢。我错过了任何步骤吗?

我正在检查 Serverspec 和 InSpec 以验证我的基础架构。当我在我的 Windows 2012 R2 服务器中执行 Serverspec 时,它运行时没有任何明显的性能问题。但是我在执行 InSpec 的时候,很长一段时间都没有看到结果,我以为我做错了,所以取消了它。然后我再次运行它需要很长时间才能运行(脚本只有一个描述)。这是 InSpec 中的预期行为还是我需要做一些特别的事情?

我的 InSpec 脚本是:

0 投票
0 回答
497 浏览

ruby - 有没有办法在 Serverspec 中运行 PowerShell 脚本?

Serverspec 中有很多内置资源,但我想将其扩展到我自己的需要。在 InSpec 中,它支持脚本资源,它将运行 PowerShell 脚本并获得看起来的结果。

但是 InSpec 太慢了。是否存在与 Serverspec 中的脚本资源等效的内容?它在每个资源的后端运行 PowerShell 脚本。如何编写我自己的 PowerShell 脚本并通过 Serverspec 调用它?

0 投票
2 回答
3896 浏览

ruby - nil:NilClass (NoMethodError) 的未定义方法“扫描”

坚持这一点,这个布局是为厨师检查测试但利用 ruby​​ 来获取文件的内容。但是,通过这个测试,我实际上并没有针对文件进行测试,所以我试图了解如何解释这一点,代码如下:

这是给我带来麻烦的线路

0 投票
1 回答
306 浏览

ruby - Chef Inspec 引发 Rspec 弃用错误

我在 Jenkins 作业中运行 Chef Inspec exec 配置文件,它返回 Rspec 弃用警告。问题是这些警告包含在 inspec exec 命令创建的 json 输出中,我尝试 sed/awk 使用开始和结束模式 /{/ , /}/ 删除 json 对象之外的所有字符,但没有任何效果,每次文本仍在文件中。我在 spec_helper.rb 文件中添加了一个 rspec 异常,以允许两者的语法,但警告仍然出现。我留下了一个文件,其中包含:

使用 Inspec 0.30.0、Ruby 2.0.0p645、Rspec 3.5.2。

这是我用来通过 ssh 在本地目标上执行检查配置文件的命令:

这是 Jenkins 作业输出的片段:

这是我添加的 spec_helper.rb 的片段:should & :expect 语法包含:

这是生成语法警告的测试:\

0 投票
1 回答
947 浏览

ruby - Ruby 循环获取 Linux 机器上所有主目录中的所有文件(Inspec/Chef Work)

我正在尝试使用 Linux 命令检查 Linux 机器上每个主目录中每个文件的文件所有权,作为用 ruby​​ 编写的 Inspec 测试。我有一个名为 ownerArray 的主目录所有者数组(包含 bin、root、daemon 等用户),并且我正在尝试使用 Dir.glob 类来获取包含在我的每个所有者的每个目录中的每个文件数组,但是当我运行我的代码时,它只循环通过 bin。大约有 15 个所有者都来自 /etc/passwd 我想循环通过,但以下只检查 bin(我可以知道当我在循环时打印每个文件的名称)。这是权限问题,还是我应该以不同的方式使用 Dir.glob 来获取我机器上主目录的每个所有者的每个文件。感谢您的时间和帮助。

请参阅上面添加的 ownerArray。它只是从 /etc/passwd 中获取用户。对于输出,我希望每次在拥有这些文件的组不是主目录所有者所属的组的主目录中存在文件时,测试都会失败。如果主目录所有者不是拥有用户主目录中给定文件的组的成员,则 grep 返回 0。

0 投票
1 回答
1264 浏览

ruby - Chef + InSpec 为用户使用 only_if

我需要查看用户列表并确定他们是否处于锁定状态,我可以做到这一点,但我的问题是我不知道 inspec 将如何让我忽略列表中不存在的用户在操作系统上。我使用 only_if (包括下面)尝试了几种不同的方法,但没有成功。

下面是我的代码:

0 投票
3 回答
2060 浏览

ruby - Inspec/Serverspec 从命令中获取多个标准输出并描述它们

我正在尝试创建一个检查控件,该控件在 /boot/grub/grub.conf 中以内核开头的每一行(并忽略空格)进行搜索,然后检查每一行以查看它是否在该行的某处有“nousb”。如果找不到 nousb,我希望它返回失败。

我的问题是,如果不止一行以内核开头,我无法找到一种从 grep 获取/描述多个标准输出的方法。这是我可以使用 .each 完成的事情吗?这是我的代码:

编辑澄清。

假设我的 conf 文件中有这些行

测试将认为它通过了,因为尽管多个内核行没有 nousb 要求,但第一个匹配它正在寻找的内容。