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

Как создать пользователя и множество его файлов с помощью Puppet?

Мне нужно создать учетную запись пользователя и много файлов для этого пользователя с помощью Puppet.

Прекрасно работает с самым простым подходом, но на всех file ресурс я должен указать owner => 'theuser', что кажется ужасно избыточным (если я этого не сделаю, они останутся корневыми).

Есть ли способ установить для владельца стандартную область действия? Или что-то вроде sudo, где марионетка запускается под этим пользователем для определенного набора ресурсов?

Итак, если все находится в одном месте, вы можете использовать recurse вариант для файла

file { "/path/to/files/":
    ensure  => directory,
    recurse => true,
    owner   => "user",
    group   => "group",
    mode    => "700",
    source  => "puppet:///modules/moduleName/path/in/files/",
  }

Тогда просто поместите все свои файлы как

модули / имя модуля / путь / в / файлы /

Puppet поместит все файлы в этом модуле в / path / to / files в системе, принадлежащей этому пользователю / группе.

Чтобы сократить, например, в owner атрибут вы можете добавить некоторые значения по умолчанию.

File {
  owner => 'user',
  group => 'somegroup',
  mode  => '0444'
}

file {
  '/some/where/file1': source => 'some-source1';
  '/some/where/file2': source => 'some-source2';
  '/some/where/file3': source => 'some-source3';
}

Документация по значениям ресурсов по умолчанию: https://puppet.com/docs/puppet/latest/lang_defaults.html