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

Jas*_*son 5 linux puppet

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

如何使用 puppet 设置默认 shell?

小智 10

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

user { "theuser":
  ensure => present,
  shell  => "/bin/zsh",
}
Run Code Online (Sandbox Code Playgroud)

如果你想设置 Puppet 运行的任何用户的 shell,你可以利用$id返回当前用户名称的事实。这对我来说有点神奇,可能会导致不想要的结果,就像你作为puppet用户puppet agent运行并最终为不应该具有交互式登录的用户设置了 shell。

这样做会像:

user { $id:
  ensure => present,
  shell  => "/bin/zsh",
}
Run Code Online (Sandbox Code Playgroud)

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