가상 사용자에서는 그룹을 사용할 수 없습니다.

가상 사용자에서는 그룹을 사용할 수 없습니다.

꼭두각시에서 일부 가상 사용자를 설정하려고합니다. 기본 사용자는 잘 작동하지만 어떤 이유로 사용자 정의에 "그룹"을 추가하려고 하면 실행이 실패합니다.

기본 가상 사용자 구성은 다음과 같습니다.

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로 유효하지 않습니다.

관련 정보