¿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?
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 group
para agregar al usuario al grupo también parece más agradable, especialmente si se ha cometido un error tipográfico y se elimina la-a
opción.usermod -g user user
luego intente eliminarlos.En Debian, el
adduser
paquete contiene undeluser
programa que elimina a un usuario de un grupo si pasa ambos como argumentos:Si su distribución no tiene
adduser
, puede editar/etc/group
y/etc/gshadow
manualmente.fuente
vigr
yvipw
. Muy útil en caso de que las páginas del manual estén demasiado lejos :)/etc/group
ejecutargrpconv
para actualizar en/etc/gshadow
lugar de editarlo.sudo deluser jenkins admin
/ usr / sbin / deluser: no puede eliminar al usuario de su grupo principal.usermod
ovipw
para cambiar el grupo primario del usuario. Esta pregunta era sobre grupos suplementarios.adduser $user $group
comando 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
thisuser
de 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/group
y eliminar lathisuser
referencia de lathatgroup
entrada de línea, 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.
fuente
vigr
ya se mencionó para editar/etc/group
manualmente. 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
group
está el grupo del que desea eliminar al usuario yuser_name
el usuario que desea eliminar del grupo. Por ejemplo,fuente
-R
opción, pero eso significa algo más. No es Linux, supongo.-R
es: "-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 jenkins
usermod: ruta de administrador chroot no válida 'admin'Considerar:
abc2
Nombre del grupo:
newgroup11
Tarea: Eliminar usuario
abc2
del gruponewgroup11
** Por favor, corrígeme si me equivoco. ** **
fuente
usermod -G newgroup11 abc2
te pondrá en el grupo secundarionewgroup11
. Como el grupo primario esabc2
, terminarás en ambos grupos.usermod -g abc2 abc2
resulta ennewgroup11
ser 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 involucradasgpasswd
para 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 deletethisgroup
está disponible. ¿Alguna razón por la que no lo estás usando?gpasswd
porque está estrechamente relacionada con/etc/passwd
, pero en su lugar administra grupos. A diferencia delpasswd
comando simple que solo controla las contraseñas,gpasswd
tambié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 $group
puede 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 $group
para 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
student
usuario delresearch
grupo, 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