Назад | Перейти на главную страницу

Установить оболочку по умолчанию для существующего пользователя с марионеткой

Я хотел бы установить оболочку по умолчанию на 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",
}

Примечание: «гарантировать => присутствует» не обязательно.

Вы можете указать оболочку пользователя, когда реализуете пользователя, который должен быть создан как виртуальный ресурс. Ознакомьтесь с лучшими практиками работы с марионетками или выполните поиск по ним, чтобы получить подробную информацию.