So entfernen Sie einen selbst erstellten Daemon-Benutzer namens „_denyhosts“ aus den Gruppen 1025 (Arbeitsgruppe), 403 (com.apple.sharepoint.group.2), 404 (com.apple.sharepoint.group.3) und 405 (com.apple .sharepoint.group.4) mit Lion Terminal?
Hintergrund
Um ein Daemon-Benutzerkonto mit eingeschränkten Privilegien zu erstellen, um denyhosts.py mit launchd auszuführen, war das Beispiel auf http://www.minecraftwiki.net/wiki/Tutorials/Create_a_Mac_OS_X_startup_daemon hilfreich.
Das erstellte Lion-Daemon-Benutzerkonto "_denyhosts" scheint jedoch vielen Gruppen zugewiesen zu sein:
$ id _denyhosts
uid=300(_denyhosts) gid=300(_denyhosts) groups=300(_denyhosts),1025(workgroup),12(everyone),61(localaccounts),403(com.apple.sharepoint.group.2),404(com.apple.sharepoint.group.3),405(com.apple.sharepoint.group.4)
Meiner Meinung nach die Gruppenmitgliedschaft von:
kann entfernt werden.
Ich habe versucht, den Benutzer aus seinen Gruppenmitgliedschaften zu entfernen, indem ich Folgendes verwendet habe:
$ dscl . -delete /Groups/workgroup GroupMembership _denyhosts
delete: Invalid Path
<dscl_cmd> DS Error: -14009 (eDSUnknownNodeName)
$ dscl . -delete /groups/workgroup GroupMembership _denyhosts
delete: Invalid Path
<dscl_cmd> DS Error: -14009 (eDSUnknownNodeName)
$ sudo dscl . delete /Groups/workgroup GroupMembership _denyhosts
delete: Invalid Path
<dscl_cmd> DS Error: -14009 (eDSUnknownNodeName)
$ sudo dseditgroup -o edit -d _denyhosts -t user workgroup
Username and password must be provided.
Ich vermute, dass diese Befehle fehlschlagen, weil sich die Gruppe "Arbeitsgruppe" nicht in einem lokalen Verzeichnis, sondern in einem LDAP-Verzeichnis befindet:
$ dseditgroup -o -read workgroup | grep AppleMetaNode -A 1
dsAttrTypeStandard:AppleMetaNodeLocation -
/LDAPv3/127.0.0.1
Aber das ist noch nicht alles, denn com.apple.sharepoint.group-Gruppen sind /Local/Default, dort $ sudo dseditgroup -o edit -d _denyhosts -t user com.apple.sharepoint.group.2
wird kein Fehler ausgegeben, aber auch der _denyhosts-Benutzer nicht aus der Gruppe entfernt:
$ id _denyhosts
uid=300(_denyhosts) gid=300(_denyhosts) groups=300(_denyhosts),1025(workgroup),12(everyone),61(localaccounts),403(com.apple.sharepoint.group.2),404(com.apple.sharepoint.group.3),405(com.apple.sharepoint.group.4)
https://superuser.com/questions/279891/list-all-members-of-a-group-mac-os-x half zu wissen, dass die Gruppenmitgliedschaft auch durch Vererbung zugewiesen werden kann. Ich vermute, dass eine solche ererbte Mitgliedschaft hier passiert.
$ dscl . -read /Groups/com.apple.sharepoint.group.2 | grep NestedGroupsNestedGroups
NestedGroupsNestedGroups: ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000050 ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C
Probieren Sie diesen Befehl aus, um den Benutzer aus einer bestimmten Gruppe zu entfernen
dseditgroup -o edit -d $Username -t user $GroupName
dseditgroup -o edit -d _denyhosts -t user workgroup
Kent