¿Cómo eliminar un usuario daemon autocreado 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) utilizando Lion Terminal?
Antecedentes
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 "_denyhosts" creada por Lion daemon parece tener demasiados 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:
- 1025(grupo de trabajo)
- 403(com.apple.sharepoint.group.2)
- 404(com.apple.sharepoint.group.3)
- 405(com.apple.sharepoint.group.4)
puede ser eliminado.
He estado tratando de lograr para eliminar el usuario sus membresías de grupos utilizando:
$ 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 "workgroup" no se encuentra 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 de com.apple.sharepoint.group son /Local/Default, allí $ sudo dseditgroup -o edit -d _denyhosts -t user com.apple.sharepoint.group.2
no produce un error, pero tampoco elimina el 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 pertenencia a un grupo también puede asignarse por herencia. Supongo que esa pertenencia heredada es lo que ocurre aquí.
$ dscl . -read /Groups/com.apple.sharepoint.group.2 | grep NestedGroupsNestedGroups
NestedGroupsNestedGroups: ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000050 ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C