私は次のような定義を持っています:
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
空の場合、または文字列だけの場合(つまり、配列ではなく1つのグループのみを定義する場合)は失敗しますか?
はい、 groups => $groups
失敗する可能性があります。ここでは特に失敗しないかもしれませんが、この特定のパターンは安全ではありません。
設定されているかどうかをテストするif
ステートメントを配置し、user
およびif
本体にelse
を定義します。