Cómo eliminar un usuario daemon creado por uno mismo llamado '_denyhosts' del grupo 1025 (grupo de trabajo), 403 (com.apple.sharepoint.group.2), 404 (com.apple.sharepoint.group.3) y 405 (com.apple) .sharepoint.group.4) usando Lion Terminal?
Fondo
Para crear una cuenta de usuario daemon con privilegios reducidos, para ejecutar denyhosts.py usando launchd, el ejemplo en http://www.minecraftwiki.net/wiki/Tutorials/Create_a_Mac_OS_X_startup_daemon ha sido útil.
Sin embargo, la cuenta de usuario Lion daemon creada "_denyhosts" parece tener muchos grupos asignados:
$ 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)
En mi opinión, la pertenencia a grupos de:
se puede quitar.
He estado tratando de lograr eliminar al usuario de sus membresías de grupos usando:
$ 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.
Supongo que estos comandos fallan porque el grupo "grupo de trabajo" no está ubicado en un directorio local sino en un directorio LDAP:
$ dseditgroup -o -read workgroup | grep AppleMetaNode -A 1
dsAttrTypeStandard:AppleMetaNodeLocation -
/LDAPv3/127.0.0.1
Pero eso no es todo, porque los grupos com.apple.sharepoint.group son /Local/Default, $ sudo dseditgroup -o edit -d _denyhosts -t user com.apple.sharepoint.group.2
no genera un error, pero tampoco elimina al usuario _denyhosts del grupo:
$ 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 ayudó a saber que la membresía del grupo también se puede asignar por herencia. Supongo que esa membresía heredada es lo que sucede aquí.
$ dscl . -read /Groups/com.apple.sharepoint.group.2 | grep NestedGroupsNestedGroups
NestedGroupsNestedGroups: ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000050 ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C
Pruebe este comando para eliminar al usuario de un grupo en particular
dseditgroup -o edit -d $Username -t user $GroupName
dseditgroup -o edit -d _denyhosts -t user workgroup
Kent