У меня есть определение, которое выглядит так:
define user::sys_user($fullname, $uid, $groups, $shell='/bin/bash', $authkey, $authkey_type=rsa) {
$username = "sys_${name}"
group { $username:
gid => $uid,
}
user { $username:
require => Group[$username],
ensure => present,
uid => $uid,
gid => $uid,
groups => $groups,
comment => $fullname,
shell => $shell,
managehome => true,
allowdupe => false,
}
ssh_authorized_key { "${username}_authkey":
user => $username,
ensure => present,
key => $authkey,
type => $authkey_type,
}
}
в user
ресурс, мне нужна группа пользователя по умолчанию. Я также хочу потребовать дополнительные группы, если это предусмотрено параметром $ groups.
Кроме того, как я делаю groups => $groups
потерпит неудачу, если он пуст или это просто строка (т.е. определяет только одну группу вместо массива)?
Да, groups => $groups
скорее всего выйдет из строя. В частности, здесь он может не выйти из строя, но этот конкретный шаблон небезопасен.
Положить if
оператор проверки, установлен он или нет, и определить user
с ним и без него на if
и else
тела.