desarrollo-web-br-bd.com

¿Cómo elimino a un usuario de un grupo?

¿Qué comando debo usar para eliminar a un usuario de un grupo en Debian?

Al agregar un usuario a un grupo, se puede hacer con:

usermod -a -G group user

Sin embargo, no pude encontrar un comando similar (aceptando un grupo y un usuario como argumentos) para eliminar al usuario del grupo. Lo más cerca que pude llegar es:

usermod -G all,existing,groups,except,for,group user

¿Hay un comando como usermod OPTION group user con OPTION una opción para hacer que usermod (o un programa similar) elimine al usuario del grupo?

372
Lekensteyn

Puede usar gpasswd:

# gpasswd -d user group

entonces la nueva configuración del grupo se asignará en el próximo inicio de sesión, al menos en Debian. Si el usuario ha iniciado sesión, los efectos del comando no se ven de inmediato.

443
user13742

En Debian, el paquete adduser contiene un programa deluser que elimina a un usuario de un grupo si pasa ambos como argumentos:

deluser user group

Si su distribución no tiene adduser, puede editar /etc/group y /etc/gshadow manualmente.

vigr
vigr -s
usermod -G "" username

elimina todos los grupos secundarios/suplementarios de username, dejándolos como miembros de solo su grupo primario. esto funcionó en Solaris 5.9

74
user208145

Este es el enfoque de la "vieja escuela" ...

La mayoría de los sistemas * nix mantienen la información del grupo en un archivo de texto sin formato /etc/group , donde

  • cada línea contiene los campos

    • nombre del grupo
    • contraseña
    • GID y
    • lista de usuarios

    delimitado por el : personaje.

  • el campo user_list es una lista de nombres de usuario, separados por comas.

Ahora suponga que desea eliminar un usuario llamado thisuser de un grupo llamado thatgroup. Comience haciendo una copia de seguridad /etc/group, luego use el editor de su preferencia con privilegios su para editar el archivo /etc/group y elimine la referencia thisuser de la entrada de línea thatgroup, por ejemplo,

la línea original es algo como esto:

thatgroup:x:1274:someuser,thisuser,anotheruser

después de la edición se debe dejar así:

thatgroup:x:1274:someuser,anotheruser

Al igual que con todas las otras respuestas, esto no afectará las sesiones actuales del usuario, si las hay (es decir, si el usuario está actualmente conectado). El cambio tendrá efecto la próxima vez que el usuario inicie sesión.

15
p57

Puede usar el siguiente comando en las distribuciones de SUSE (y, aparentemente, no hay otros).

usermod -R gruponombre_usuario

donde group es el grupo del que desea eliminar el usuario y user_name el usuario que desea eliminar del grupo. Por ejemplo,

usermod -R root imnottheroot

Considerar:

  • nombre de usuario: abc2
  • nombre del grupo: newgroup11

  • Tarea: Eliminar usuario abc2 del grupo newgroup11

[[email protected] ~]# groups abc2
abc2 : abc2
[[email protected] ~]# usermod -G newgroup11 abc2
[[email protected] ~]# groups abc2
abc2 : abc2 newgroup11
[[email protected] ~]# usermod -G newgroup11 abc2
[[email protected] ~]# usermod -G abc2 abc2
[[email protected] ~]# groups abc2
abc2 : abc2

** Por favor, corrígeme si me equivoco. ** **

1
new user

Puede eliminar usuarios del grupo ejecutando el comando usermod sin la opción -a. Ejemplo, al ejecutar "usermod -G group1 username" se agregará el usuario al grupo1 y se eliminará de cualquier otro grupo en el que se encuentre. Recuerde, puede mantener al usuario en varios grupos enumerando los nombres de los grupos, separados por comas.

1
Helper

Para continuar usando usermod en una distribución (como Fedora) que no tiene una opción de eliminación, donde user = bob y group = deletethisgroup, el comando sería:

usermod -G `cat /etc/group |  grep bob | grep -v deletethisgroup | cut -d ':' -f 1 | tr '\n' ',' | sed 's/,$//'` bob

Las canalizaciones (1) obtienen todas las entradas de grupo a las que pertenece el usuario, (2) eliminan la que necesita ser eliminada, (3) devuelve la primera columna (nombre del grupo), reemplaza la nueva línea con una coma y elimina la coma final.

Por supuesto, podría poner todo eso en una secuencia de comandos bash que lleve al usuario y al grupo a eliminarse como parámetros. awk podría usarse para acortar el final, pero quería apegarme a grep, cut, tr y sed.

0
Stephen

Suponga que nombre de usuario = estudiante y nombre de grupo = investigación, por lo tanto, para eliminar student usuario del grupo research debe hacer lo siguiente:

gpasswd -d student research
0
ravi