¿Cómo agregar un usuario a un grupo en la línea de comandos?

Con Linux/Unix, puedo usar useradd -G developers vivekpara agregar vivek al grupo de desarrolladores. ¿Cómo puedo hacer lo mismo con Mac OS X?

Entonces, ¿cómo verifico si vivek está en el grupo de desarrolladores?

No, no es un duplicado. El "duplicado" vinculado se trata de crear un usuario. Esta pregunta trata sobre la gestión de los grupos que tiene un usuario existente.

Respuestas (3)

He usado este one-liner:

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

Para agregar un usuario a un grupo:

dseditgroup -o edit -a vivek -t user developers

(Nota: también puede hacer esto con dsclla respuesta de @hobs, pero realmente debería agregar el nombre corto del usuario a la lista GroupMembership y también agregar el GeneratedUID del usuario a la lista GroupMembers. dseditgrouphace ambas cosas con una sola operación).

Para verificar la membresía:

dseditgroup -o checkmember -m vivek developers

O:

dsmemberutil checkmembership -U vivek -G developers

Para eliminar un usuario de un grupo:

dseditgroup -o edit -d vivek -t user developers

(Nuevamente, puede hacer esto con dscl, pero debe eliminar al usuario tanto de GroupMembership como de GroupMembers. dseditgroupHace ambas cosas).

Confirmado. dscl solo agrega sin verificar que el usuario ya esté en el grupo. solo agrega. Y puede crear una membresía duplicada para el mismo usuario en el grupo.
Vale, esto es frustrante. Cuando trato de usar el primer comando, dice "Se debe proporcionar el nombre de usuario y la contraseña". Cuando uso "-u michael", la página de manual dice que debería solicitarme una contraseña, ¡pero en su lugar imprime el mensaje anterior nuevamente!
@Michael si especifica un usuario administrador con -u, debería solicitar la contraseña. ¿Qué versión de OS X estás usando? Además, intente con sudo(ie sudo dseditgroup -o ...) y eso debería funcionar.
dseditgroup -o edit -a vivek -t user developerses la llave. Mucha gente sugiere dseditgroup -o edit -a vivek -t developerspero solo dseditgroup -o edit -a vivek -t user developersfunciona

Dos vías: Desde la terminal

Todo aquí debe hacerse en la línea de comando. Primero inicie dscl de esta manera:

$ dscl servidor local

Luego cd al nodo Grupos:

cd /Local/Predeterminado/Grupos

Puedes ver todos los grupos usando ls. Una vez que haya encontrado el grupo que le interesa, puede ver todas sus propiedades con cat groupname. Cuando esté listo para agregar un usuario (nombre de usuario) al grupo (nombre de grupo), use el siguiente comando:

agregar nombre de grupo Nombre de usuario de GroupMembership

Si desea eliminar a un miembro de un grupo, use el siguiente comando (¡tenga cuidado!):

eliminar nombre de grupo Nombre de usuario de GroupMembership

Cuando haya terminado con sus cambios, salga de dscl escribiendo exit.

Y la manera oficial de Apple:

Elija el menú Apple > Preferencias del sistema y luego haga clic en Cuentas. Abra las preferencias de Cuentas Paso 2

Si el panel de preferencias está bloqueado, haga clic en el icono de candado e ingrese un nombre de administrador y una contraseña. Paso 3

Haga clic en el botón Agregar (+), ubicado debajo de la lista de cuentas, para crear una nueva cuenta. Etapa 4

Seleccione un grupo en el menú emergente Nueva cuenta. Paso 5

Ingrese un nombre para el grupo y luego haga clic en Crear grupo. Paso 6

Seleccione las casillas de verificación de las cuentas para ser miembros del grupo.