¿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 usercon OPTION una opción para hacer que usermod(o un programa similar) elimine al usuario del grupo?

Respuestas:
Puedes usar
gpasswd: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.
fuente
gpasswd -a user grouppara agregar al usuario al grupo también parece más agradable, especialmente si se ha cometido un error tipográfico y se elimina la-aopción.usermod -g user userluego intente eliminarlos.En Debian, el
adduserpaquete contiene undeluserprograma que elimina a un usuario de un grupo si pasa ambos como argumentos:Si su distribución no tiene
adduser, puede editar/etc/groupy/etc/gshadowmanualmente.fuente
vigryvipw. Muy útil en caso de que las páginas del manual estén demasiado lejos :)/etc/groupejecutargrpconvpara actualizar en/etc/gshadowlugar de editarlo.sudo deluser jenkins admin/ usr / sbin / deluser: no puede eliminar al usuario de su grupo principal.usermodovipwpara cambiar el grupo primario del usuario. Esta pregunta era sobre grupos suplementarios.adduser $user $groupcomando más simple en lugar delusermod -x -y -z -....elimina todos los grupos secundarios / suplementarios del nombre de usuario , dejándolos como miembros de solo su grupo primario. esto funcionó en Solaris 5.9
fuente
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 plano
/etc/group, dondecada línea contiene los campos
delimitado por el
:personajeAhora suponga que desea eliminar un usuario llamado
thisuserde un grupo llamadothatgroup. Comience haciendo una copia de seguridad/etc/group, luego use el editor de su preferencia con privilegios su para editar el archivo/etc/groupy eliminar lathisuserreferencia de lathatgroupentrada de línea, por ejemplo,La línea original es algo como esto:
thatgroup:x:1274:someuser,thisuser,anotheruserDespués de la edición se debe dejar así:
thatgroup:x:1274:someuser,anotheruserAl 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.
fuente
vigrya se mencionó para editar/etc/groupmanualmente. Mis páginas del manual dicen que los nombres de usuario están separados por comas, no por dos puntos. No es necesario reiniciar, solo necesita volver a iniciar sesión (o usarnewgrp).Puede usar el siguiente comando en las distribuciones de SUSE (y, aparentemente, no en otras ).
dónde
groupestá el grupo del que desea eliminar al usuario yuser_nameel usuario que desea eliminar del grupo. Por ejemplo,fuente
-Ropción, pero eso significa algo más. No es Linux, supongo.-Res: "-R, --root CHROOT_DIR Aplique los cambios en el directorio CHROOT_DIR y use los archivos de configuración del directorio CHROOT_DIR".sudo usermod -R admin jenkinsusermod: ruta de administrador chroot no válida 'admin'Considerar:
abc2Nombre del grupo:
newgroup11Tarea: Eliminar usuario
abc2del gruponewgroup11** Por favor, corrígeme si me equivoco. ** **
fuente
usermod -G newgroup11 abc2te pondrá en el grupo secundarionewgroup11. Como el grupo primario esabc2, terminarás en ambos grupos.usermod -g abc2 abc2resulta ennewgroup11ser eliminado de los grupos secundarios porque ya no se menciona. Entonces, para tres o más grupos diferentes, este método no funcionará. Vea las otras respuestas involucradasgpasswdpara un mejor comando.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 donde se encuentre. Recuerde, puede mantener al usuario en varios grupos enumerando los nombres de los grupos, separados por comas.
fuente
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:
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.
fuente
gpasswd -d bob deletethisgroupestá disponible. ¿Alguna razón por la que no lo estás usando?gpasswdporque está estrechamente relacionada con/etc/passwd, pero en su lugar administra grupos. A diferencia delpasswdcomando simple que solo controla las contraseñas,gpasswdtambién se puede usar para administrar la membresía de un grupo. No se requiere una contraseña de grupo si es root o administrador de grupo.gpasswd $grouppuede establecer la contraseña del grupo que causa el problema de seguridad que mencionó. Sin embargo también puede no tener una contraseña y utilizargpasswd -d $user $grouppara eliminar un usuario como se describe en el primer comentario y respuesta aceptada. Tenga en cuenta que este comando no solicita una contraseña de grupo ni la modifica ni la requiere.Suponga que username = student y groupname = research , por lo tanto, para eliminar al
studentusuario delresearchgrupo, debe hacer lo siguiente:fuente
Una solución si está utilizando CSH, por cualquier razón.
fuente
Para eliminar a un usuario de un grupo, gpasswd es la mejor utilidad para esta IMO.
Ejemplo de comando:
* Información de ayuda *
fuente