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

Использование ресурса пользователя Puppet для создания нескольких пользователей

Я написал следующий фрагмент ниже, используя user ресурс в puppet создавать unix пользователей.

   node 'node2.example.com','node3.example.com'{
  user {
  'askar':
  ensure  => 'present',
  managehome => 'true',
  comment => 'man Home',
  home    => '/home/askar',
  shell   => '/bin/bash',
  expiry  => '2016-03-22',
  password => '$1$cs1j/t.D$4Q2Ocr0pulyNTUx/',
  password_min_age => '30',
  password_max_age => '60',
 }
exec {
'chage':
    path => '/usr/bin/',
    command => 'chage -d 0 askar',
  } 
}

У меня это работает нормально, но проблема для меня в том, что мне нужно создать от 10 до 20 пользователей. Как я могу повторно использовать приведенный выше фрагмент для создания 10 пользователей. Я новичок в puppet , так что указатели будут большим подспорьем.

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


модули / myuser / init.pp

define myuser(
  $password,
  $expiry = '2016-03-22',
  $shell  = '/bin/bash',
) {
  user { $title:
    ensure           => present,
    managehome       => true,
    comment          => 'Puppet managed user',
    home             => "/home/${title}",
    shell            => $shell,
    expiry           => $expiry,
    password         => $password,
    password_min_age => '30',
    password_max_age => '60',
  }
  exec { 'chage':
    command => "/usr/bin/chage -d 0 ${title}",
  } 
}

манифесты / site.pp

node 'node2.example.com','node3.example.com'{
  myuser { 'user1':
    password => 'sdfsldkfldsfl'
  }

  myuser { 'user2':
    password => 'dfsdklsjflcd',
  }
}

Ссылка: https://docs.puppetlabs.com/puppet/latest/reference/lang_defined_types.html

В качестве альтернативы вы можете использовать для этого один из множества модулей Puppet Forge. Лично я использую вот этот.