O'Reilly logo

Mac OS X Tiger in a Nutshell by Jason McIntosh, Chuck Toporek, Chris Stone, Andy Lester

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Managing Groups

Directory Services stores information about groups in its /groups directory. This is different from the /etc/group file, which is consulted only in single-user mode.

To list all of the group IDs (GIDs) and group names for the local domain, invoke nireport with the NetInfo domain (., the local domain), the directory (/groups), and the properties you want to inspect—in this case, gid and name:

    $ nireport . /groups gid name
    -2      nobody
    -1      nogroup
    0       wheel
    1       daemon
    2       kmem
    3       sys
    4       tty
    5       operator
    6       mail
    7       bin
    20      staff
    26      lp
    27      postfix
    28      postdrop
    29      certusers
    45      utmp
    66      uucp
    68      dialer
    69      network
    70      www
    74      mysql
    [... and so on ...]

Tip

Although the flat file format is called group (after the /etc/group file), the group directory is /groups. If you forget that last s, nireport looks for the wrong directory. However, if you want to dump the groups directory in the /etc/group file format, use the command nidump group . without that last s.

Creating a Group with niload

The niload utility can be used to read the flat file format used by /etc/group (name:password:gid:members). To add a new group, you can create a file that adheres to that format, and load it with niload. For ad hoc work, you can use a here document (an expression that functions as a quoted string, but spans multiple lines) rather than a separate file:

    $ sudo niload group . <<EOF
    > writers:*:1001:
    > EOF

Creating a Group with dscl

To create a group with dscl, you'll need to create a directory under /groups and set the

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required