dseditgroup gibt keinen Fehler zurück, entfernt jedoch keinen Benutzer aus der Gruppe

0

Ich folge den Anweisungen, die von jemand anderem geschrieben wurden, um eine OS X-Box zu härten. Eine Anforderung besteht darin, sicherzustellen, dass bestimmte systemdefinierte Gruppen keine Benutzer enthalten. Für dieses Beispiel werde ich _ard verwenden, aber es gibt einige.

Die Gruppe _ard enthält standardmäßig einen Benutzer mit dem Namen _ard. Also dachte ich, ich würde dseditgroup verwenden, um diesen Benutzer aus der Gruppe zu entfernen:

dseditgroup -o edit -u myadminname -p -d _ard -t user _ard

Ich werde aufgefordert, mein Passwort einzugeben, und alles scheint gut zu funktionieren. Es wird keine Fehlermeldung zurückgegeben, aber Benutzer _ard befindet sich noch in Gruppe _ard.

dseditgroup -o checkmember -m _ard _ard
yes _ard is a member of _ard

Ich habe viele Permutationen ausprobiert, einschließlich der Verwendung von sudospezifizieren -n . Geben Sie die vollständigen Pfade zu den lokalen Gruppen und Benutzern an.

Zur Überprüfung der Realität habe ich Kauderwelschnamen für die Gruppe und für den Benutzer eingegeben. In beiden Fällen bekam ich eine Fehlermeldung zurück. Das System erkennt also die Gruppe und den Benutzer, gibt keinen Fehler zurück, führt jedoch die Operation nicht aus.

Schließlich drehte ich mich zu dscl zu versuchen, dasselbe zu erreichen, auch ohne Erfolg. Alle Permutationen, die ich basierend auf Suchanfragen in den Interwebs ausprobiert habe, einschließlich vieler Permutationen von

sudo dscl localhost -delete /Local/Default/Groups/thegroupname GroupMembership theusername

gab das gleiche Ergebnis - kein Fehler, kein Ergebnis.

Also - töte ich mich selbst, um schlecht geschriebene Anweisungen zu befolgen und es ist nicht möglich um diesen Benutzer aus dieser Gruppe zu entfernen, oder vermisse ich etwas anderes?

Jede Hilfe wird sehr geschätzt.

Bearbeiten zum Hinzufügen: Sollte erwähnt haben, dass die GUI es mir auch nicht erlaubt, die Benutzer zu entfernen.

Jerry Seeger
quelle
Es kann hilfreich sein, wenn Sie die Anweisungen verknüpfen, denen Sie folgen möchten. Welche Version von OS X verwenden Sie und für welche Version sind die Anweisungen geschrieben? (Es gibt eine überraschende Menge an Änderungen an einigen von Apple geschützten Befehlen zwischen den Versionen.)
demure
Kann ich leider nicht Unternehmensinterne Dokumente, Wissenswertes und so weiter. Ich kann sagen, dass es unter der Überschrift "Liste der Gruppen, die keine Benutzer enthalten:"
Jerry Seeger
@demure Ich bin auf Mountain Lion und es ist durchaus möglich, dass die Anweisungen für dieses Betriebssystem nicht aktualisiert wurden. Die Anweisungen sagen nicht Wie Um die Benutzer zu entfernen, müssen nur die Gruppen leer sein, also habe ich das Web nach verschiedenen Methoden durchkämmt.
Jerry Seeger
1
Ob sudo dscl . -read /Groups/_ard Enthält keine Zeile, die mit 'GroupMembers:' (wie meine) beginnt. Ich bin ziemlich zuversichtlich, dass '_ard' nur benötigt wird, um die '_ard'-Gruppe zu erstellen.
demure
@demure - das würde auch erklären, warum viele der dscl-basierten Lösungen, die ich ausprobiert habe, zurückgegeben wurden <dscl_cmd> DS Error: -14134 (eDSAttributeNotFound). Ich denke, Sie haben Recht, und die Anforderung ist nur schlecht geschrieben.
Jerry Seeger

Antworten:

0

Die _ard-Gruppe ist die primäre Gruppe für den _ard-Benutzer. In der GUI (zumindest unter 10.6) werden Sie möglicherweise feststellen, dass der _ard-Benutzer kursiv gedruckt ist (wenn Sie sich die Mitglieder der _ard-Gruppe ansehen).

Sie können keinen Benutzernamen ohne eine primäre Gruppe haben. Sie können jedoch die primäre Gruppe ändern, wenn Sie dies wirklich möchten. Verwenden Sie die GUI, um den Benutzer _ard auszuwählen und die primäre Gruppe auf etwas festzulegen, das für Sie leichter zugänglich ist.

Ich bin mir jedoch sicher, dass der Ersteller des Dokuments die besten Absichten hatte. Aber ich sehe nicht, wie hilfreich es ist, die _ard-Gruppe zu entvölkern. (Und das Gleiche gilt für viele der anderen lokalen _ * -Gruppen.)

Kent
quelle
Vielen Dank an Sie und @demure. Ich werde mit der Zuversicht in mein Audit einsteigen, dass die eigentliche Anforderung lautet: Nein andere Benutzer ist in diesen Gruppen, und ich werde jeden bekämpfen, der etwas anderes sagt. Ich gebe Ihnen das magische Häkchen, aber hoffentlich kann Zurückhaltung auch Stolz auf eine gut gemachte Arbeit sein. Danke euch beiden.
Jerry Seeger