작동하지 않는 그룹을 관리하는 Puppet 모듈

작동하지 않는 그룹을 관리하는 Puppet 모듈

다음 문서를 사용하여 새 그룹을 설정하는 모듈을 구성했습니다.https://puppet.com/docs/puppet/latest/types/group.html.

[root@puppetmaster ~]# cat /etc/puppet/modules/change-groups/manifests/init.pp 
class change-groups {

    group { "newgroup":
        gid => 3651,
        members => "user1,user2",
    }

}

불행히도 오류 메시지가 나타납니다. 이유가 무엇일까요?

info: /Group[newgroup]: Provider groupadd does not support features manages_members; not managing attribute members

답변1

를 기반으로선적 서류 비치:

그룹을 관리합니다. 대부분의 플랫폼에서는 그룹만 생성할 수 있습니다.그룹 멤버십은 개별 사용자별로 관리되어야 합니다..

OS X와 ​​같은 일부 플랫폼에서는 그룹 멤버십이 사용자 기록이 아닌 그룹 속성으로 관리됩니다. 그룹 레코드의 'members' 속성을 관리하려면 공급자에게 'manages_members' 기능이 있어야 합니다.

이것은악명 높게groupadd/groupmod/groupdel을 사용하여 그룹을 편집하는 Linux 플랫폼에서는 작동하지 않습니다. - 참조업스트림 문제 #1298.

이 있습니다대체 그룹 공급자그룹 파일을 편집할 수 있는 포틀랜드 주립 대학의 파일입니다.

또 다른 옵션은 Augeas를 사용하여 그룹 파일을 관리하는 것입니다.

답변2

Puppet 배포의 기본 그룹 공급자에는 그룹 멤버십을 관리할 수 있는 공급자가 포함되어 있지 않습니다. 그러나 포틀랜드 주립 대학의 누군가가 동일한 기능을 요구하고 코딩했습니다.일부 맞춤 공급자. 여기에서 필요한 것은 ggroupadd.pp넣으려는 파일입니다 /etc/puppet/modules/custom/lib/puppet/provider/group(사용자 정의 모듈 디렉토리의 위치를 ​​반영하도록 적절하게 조정).

새로운 ggroupadd 공급자는 구성원 속성에 입력한 모든 항목이 파일에도 포함되도록 그룹을 관리합니다 /etc/group.

답변3

꼭두각시 관리자가 이를 지원하지 않은 것 같습니다. Ruby 라이브러리의 groupadd 기능을 살펴보니 엉성한 코드 및/또는 불완전한 코드가 결합된 것 같습니다.

관련 정보