我有一个如下所示的定义:
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