使用 Puppet 为现有用户设置默认 shell

使用 Puppet 为现有用户设置默认 shell

我想在 Puppet 中将默认 shell 设置为 zsh。最好是针对当前用户,因为我只运行我的模块,因为puppet apply mymodule.pp我将跨多台机器使用的配置存储在 git 中。

如何使用 puppet 设置默认 shell?

答案1

如果你想要设置现有用户的 shell,只需执行以下操作:

user { "theuser":
  ensure => present,
  shell  => "/bin/zsh",
}

如果您想设置 Puppet 正在以何种用户身份运行的 shell,您可以利用$id返回当前用户名称的事实。这对我来说感觉有点神奇,并且可能会导致不良结果,例如,如果您以puppet具有puppet agentrun 的用户身份运行,最终为不应该具有交互式登录的用户设置了 shell。

可以这样做:

user { $id:
  ensure => present,
  shell  => "/bin/zsh",
}

注意:“ensure => present”是可选的。

答案2

您可以在实现用户时指定用户 shell,该用户应作为虚拟资源创建。请参阅或搜索 puppet 最佳实践以获取详细信息。

相关内容