Я хотел бы установить оболочку по умолчанию на zsh в Puppet. Предпочтительно для текущего пользователя, потому что я просто запускаю свои модули как puppet apply mymodule.pp
поскольку я храню свою конфигурацию, которую использую на нескольких машинах, в git.
Как я могу установить оболочку по умолчанию с помощью марионетки?
Если вы хотите установить оболочку существующего пользователя, просто выполните:
user { "theuser":
ensure => present,
shell => "/bin/zsh",
}
Если вы хотите установить оболочку любого пользователя, от имени которого выполняется Puppet, вы можете использовать $id
факт, который возвращает имя текущего пользователя. Мне это кажется немного волшебным и может привести к нежелательным результатам, например, если вы бежите как puppet
пользователь с puppet agent
run, и вы в конечном итоге настраиваете оболочку для пользователя, у которого не должно быть интерактивных учетных записей.
Это будет сделано так:
user { $id:
ensure => present,
shell => "/bin/zsh",
}
Примечание: «гарантировать => присутствует» не обязательно.
Вы можете указать оболочку пользователя, когда реализуете пользователя, который должен быть создан как виртуальный ресурс. Ознакомьтесь с лучшими практиками работы с марионетками или выполните поиск по ним, чтобы получить подробную информацию.