Inspec 将单个控件作为 sudo 运行



我正在使用 inspec 来验证我正在构建的一些 AMI,并且主要我希望配置文件中的控件以普通用户身份运行,以便我可以像标准用户一样进行测试。

但是,我想以根(sudo(身份运行几个控件来检查服务之类的内容。

我知道我可以将 --sudo 传递给 exec 命令,但这会将整个配置文件作为 sudo 运行。 是否可以提升单个控件?(你会在 Ansible 中使用 BECOMING (。 还是我需要编写两个配置文件并独立执行它们?

嗯,如果它只是一个控件,你不能只使用su -l USERNAME -c COMMAND并捕获输出吗?使用命令资源可能不理想,但这将使您能够访问用户的环境。即:

root@machine:~# su -l ubuntu -c env

您可以使用以下方法通过 chef inspec 远程运行 sudo 命令:

history_file = ssh -o StrictHostKeyChecking=no -tt #{input('host')} sudo find / -name '.mysql_history'.strip 
file_check = ssh -o StrictHostKeyChecking=no -tt #{input('host')} sudo ls -l #{history_file}.strip

最新更新