qwertz Adieu Pavillonstrasse Tastatur dscl

wall < "User/Groups anlegen (MacOS X Leopard)"

Broadcast message from spillerm@unixe.de (pts/1) (Di Jul 08 17:12:55 2008):
4
Diesen Beitrag schrieb ich vor 10 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Ziemliche Pfriemelei: da möchte man einen bestimmten Dienst auf dem Mac ans Laufen bringen, doch useradd und adduser sind nicht auf dem System vorhanden bzw. verhalten sich völlig Banane… Nun, MacOS ist nun einmal kein Linux — deshalb hier in Kürze, wie User und Gruppen (unter anderem) angelegt werden können.

$ sudo dscl .
Password:
> cd Groups
/Groups > list . ##Auflistung aller aktuell im System vorhandenen Gruppen
/Groups > list . PrimaryGroupID ##Auflistung incl. Group-IDs, freie Group-ID suchen
/Groups > create _nagcmd ##neue Gruppe namens _nagcmd anlegen
/Groups > append _nagcmd RecordName nagcmd ##Gruppe _nagcmd Alias nagcmd zuweisen
/Groups > create _nagcmd PrimaryGroupID 701 ##Gruppe _nagcmd ID 701 zuweisen
/Groups > create _nagcmd RealName "nagios control group" ##Gruppe _nagcmd etwas Blabla zuweisen
/Groups > cd ../Users ##zu den Usern hüpfen
/Users > list . UniqueID ##User nebst IDs anzeigen und freie ID suchen
/Users > create _nagios ##User _nagios anlegen
/Users > append _nagios RecordName nagios ##User _nagios erhält Alias nagios
<main> attribute status: eDSRecordAlreadyExists
<dscl_cmd> DS Error: -14135 (eDSRecordAlreadyExists) ##Hoppla, den gibt's schon!
/Users > delete nagios ##Raus damit.
/Users > append _nagios RecordName nagios ##Jetzt aber...
/Users > create _nagios RealName "nagios control user" ##Kommentar zum User
/Users > create _nagios UniqueID 701 ##User-ID
/Users > create _nagios PrimaryGroupID 701 ##Primärgruppe für _nagios
/Users > create _nagios UserShell /usr/bin/false ##Shell für _nagios
/Users > append /Groups/_nagcmd GroupMembership _www ##siehe unten
/Users > quit

Zum letzten Schritt sei noch kurz erwähnt: er ändert nicht die primäre Gruppenzugehörigkeit, er fügt den User _www (dessen Primärgruppe ebenfalls _www heisst) lediglich zusätzlich in die Gruppe _nagcmd ein.

Auf diese Art funktioniert es erst ab MacOS X Leopard; ältere Versionen setzen auf NetInfo (wie auch schon NeXT, BTW), wohingegen Leopard Directory Services nutzt (dscl steht für Directory Service command line utility).

4
  1. Das hat bei mir soweit auch funktioniert – allerdings stiegen mir meine Perl Plugins nach einigen Stunden aus und meldeten auf stderr, dass es keinen User 701 gibt. Wie die Zeitverzögerung zustande kommt, habe ich nicht herausgefunden. Nachdem ich unter /etc/passwd und /etc/group User und Gruppe 701 eingetragen hatte, ging dann alles wie es sollte.

  2. Pingback: Confluence: IT & Organisation

  3. cool! der pfad is aber unter 10.5.6: /Local/Default/Groups

  4. hui das hat mir geholfen. :) danke Dir!

    Ich habe es auch für Nagios gebraucht

    ajk

  5. Andreas E. Mueller

    Hallo…

    hab zwar noch nie mit einem Mac gearbeitet, aber Solaris und andere Unixes oder Derivate haben mich schon immer fasziniert.

    Jetzt weiss ich wenigstens wie die Benutzer- und Gruppenverwaltung auf MacOS X funzt. Es lässt sich schön lesen und ich finde es genial wie man User und Gruppen wie Verzeichnisse verwalten kann.

    Nein, bisher wusste ich das nicht. Hatte auch nie das Glück einen Mac zu besitzen. Jetzt setz ich mal einen MacBook Pro ganz oben auf meiner Buy-Soon Liste!

    Greets,
    Andy

Keine weitere Reaktionen mehr möglich.