Puppet: System Administration Automated

Support

Ticket #1022 (closed defect: worksforme)

Opened 9 months ago

Last modified 6 months ago

Solaris group management

Reported by: asa Assigned to: community
Priority: normal Milestone:
Component: library Version: 0.24.1
Severity: normal Keywords: solaris, group
Cc: Triage Stage: Needs more info
Attached Patches: None Complexity: Unknown

Description

In Solaris 10 given the following situation:

user_a (uid 1555) has a default group group_a(gid 1000) and another couple of groups it belongs to called group_b(gid 1001) and group_c(gid 1002)

user_b (uid 1556) has a default group group_b(gid 1001)

/etc/passwd looks like:

user_a:x:1555:1000:test user a:/home/user_a:/bin/bash
user_b:x:1556:1001:test user b:/home/user_b:/bin/bash

/etc/group looks like:

group_a::1000:
group_b::1001:user_a
group_c::1002:user_a

/usr/bin/groups user_a returns

group_a group_b group_c

In this situation every time puppet runs it is trying to add a group

/User[user_a]/groups: groups changed 'group_b,group_c' to 'group_a,group_b,group_c'
/User[user_b]/groups: groups changed '' to 'group_b'

When really the groups are already setup correctly.

It looks like the way group membership is reported in solaris is not using the groups command but is rather parsing /etc/group?

I have not gone code diving, but this is my assumption.

Change History

01/28/08 04:27:30 changed by luke

  • stage changed from Unreviewed to Needs more info.

Puppet is using the Etc module that ships with Ruby to figure out what groups a user is in.

How are you specifying the group list? It must be specified as an array.

04/08/08 17:47:51 changed by luke

  • status changed from new to closed.
  • resolution set to worksforme.

Again, given no input, closing the ticket. I expect the group list wasn't being specified as an array.