我想在 Puppet 中将默认 shell 设置为 zsh。最好是针对当前用户,因为我只运行我的模块,因为puppet apply mymodule.pp
我将跨多台机器使用的配置存储在 git 中。
如何使用 puppet 设置默认 shell?
答案1
如果你想要设置现有用户的 shell,只需执行以下操作:
user { "theuser":
ensure => present,
shell => "/bin/zsh",
}
如果您想设置 Puppet 正在以何种用户身份运行的 shell,您可以利用$id
返回当前用户名称的事实。这对我来说感觉有点神奇,并且可能会导致不良结果,例如,如果您以puppet
具有puppet agent
run 的用户身份运行,最终为不应该具有交互式登录的用户设置了 shell。
可以这样做:
user { $id:
ensure => present,
shell => "/bin/zsh",
}
注意:“ensure => present”是可选的。
答案2
您可以在实现用户时指定用户 shell,该用户应作为虚拟资源创建。请参阅或搜索 puppet 最佳实践以获取详细信息。