以其他用户身份运行 Chef 保护块



我想要一个 Chef 保护块,我想以特定用户身份运行该块。

我知道如何以用户身份在守卫中运行 shell 命令,因为这在文档中有所介绍:

not_if 'grep adam /etc/passwd', :user => 'adam'

我想改用保护块,以便我可以执行一些更复杂的操作,并且我想以 postgres 用户的身份运行代码。例如:

only_if do
c = PGconn.connect(user: 'postgres', dbname: 'postgres')
# do some other stuff with the postgres connection
end

如何在此处分配user或其他属性?

代码块本身不是以用户身份运行的,它们只是由 Ruby 作为 Ruby 碰巧运行的任何用户运行。在这种情况下,您可能希望掏出psql并正常更改子流程的用户。

最新更新