用puppet设置现有用户的默认shell

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

我如何使用puppet设置默认的shell?

如果你想设置一个现有的用户的shell,只需要做:

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

如果你想设置任何用户Puppet运行的shell,你可以使用$id事实返回当前用户的名字。 这对我来说有点神奇,并且可能会导致不希望的结果,比如如果你正在运行puppet agent运行的puppet用户,并且最终为不应该有交互login的用户设置一个shell。

这将做如下:

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

注意:“确保=>存在”是可选的。

您可以在实现用户时指定用户shell,该用户应该创build为虚拟资源。 查看或search傀儡最佳做法以获取详细信息。