꼭두각시에서 일부 가상 사용자를 설정하려고합니다. 기본 사용자는 잘 작동하지만 어떤 이유로 사용자 정의에 "그룹"을 추가하려고 하면 실행이 실패합니다.
기본 가상 사용자 구성은 다음과 같습니다.
class users::virtual {
define localuser ($uid,$gid) {
user { $title:
ensure => "present",
uid => $uid,
gid => $gid,
shell => "/bin/bash",
home => "/home/$title",
comment => $realname,
managehome => true,
}
}
}
여기 한 사용자가 전화를 했습니다...
class my::users {
include users::virtual
@users::virtual::localuser { "jdehnert":
uid => "504",
gid => "users",
groups => ["wheel", "rvm"],
require => Group["rvm"],
}
}
init.pp는 ...
class people {
include my::users
realize (
Users::Virtual::Localuser["jdehnert"],
)
}
클라이언트에서 --noop 테스트를 실행하면 클라이언트에 다음 메시지가 표시됩니다.
# puppetd --test --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1.
와 이거 서버에 있네...
Aug 23 04:29:38 centos63 puppet-master[21713]: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1
"그룹" 줄을 꺼내면 이 구성이 제대로 작동합니다.
또한 일반 사용자 리소스를 만들면 "groups" 매개변수를 제대로 전달할 수 있다는 사실도 발견했습니다. 그렇다면 왜 가상 사용자에서는 작동하지 않습니까?
감사해요,
제임스 "지크" 데너트
[이메일 보호됨]
답변1
당신은 여기서 뭔가를 오해하고 있습니다.
@users::virtual::localuser { "jdehnert":
uid => "504",
gid => "users",
groups => ["wheel", "rvm"],
require => Group["rvm"],
}
localuser
위에서는 다음과 같이 정의된 a 를 선언합니다 .
define localuser ($uid,$gid) {
즉,오직수신되는 매개변수는 uid
, gid
메타 매개변수(예: require
)입니다. 은 groups
(는) 메타 매개변수도 아니고 당연히 이거나 uid
가 아니므 gid
로 유효하지 않습니다.