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 sudo
spezifizieren -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.
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.
<dscl_cmd> DS Error: -14134 (eDSAttributeNotFound)
. Ich denke, Sie haben Recht, und die Anforderung ist nur schlecht geschrieben.