¿Cómo agrego usuarios a otro grupo de usuarios?

9

Tengo un usuario John y un usuario Keith en el servidor Ubuntu

Agregué estos usuarios usando

sudo adduser John 
sudo adduser Keith

¿Cómo puedo agregar ahora a John al grupo de Keith?

Lo intenté:

sudo usermod -aG Keith john

Pero me sale:

usermod: group 'Keith' does not exist

¿Qué debo hacer para resolver este problema?

Natasha Thapa
fuente

Respuestas:

17

Puedes usar: usermod -a -G grouptoadd username

Dado que es mucho menos obvio de lo que pensé por qué -a -G está bien mientras que -aG no lo está, intentaré explicarlo:

Las opciones -G toman un valor o una lista de valores. En el caso de un valor, el valor se puede dar como: -GVALOR ya que no es necesario tener un espacio entre la opción y el valor. Esto es solo una práctica común.

Si tiene un grupo llamado a en su sistema, entonces llamar -Ga se vuelve ambiguo. ¿Desea que el usuario tenga solo un grupo a? ¿Estás llamando -a y -G? ¿Entonces "a" es un valor para -G? ¿Dónde está el resto del valor (a -G)? También es una práctica común que cualquier opción de una sola letra pueda ante cualquier otra opción de una sola letra. entonces tat -xy == -yz. Pero esto es ambiguo cuando una de las opciones puede tomar un solo valor como VALOR o muchos valores como VAL1, Val2, val4, etc.

Entonces, para que el comando FAILSAFE funcione correctamente y para todas las entradas, debe separar -a de -G

De man usermod:

Nombre

usermod: modificar una cuenta de usuario

Sinopsis

usermod [opciones] INICIAR SESIÓN

Descripción

El comando usermod modifica los archivos de cuenta del sistema para reflejar los cambios que se especifican en la línea de comando.

Opciones

Las opciones que se aplican al comando usermod son:

  • -a, --append

    Agregue el usuario a los grupos suplementarios . Use solo con la opción -G .

  • ...

  • -G, --grupos GRUPO1 [, GRUPO2, ... [, GRUPO]]]

    Una lista de grupos suplementarios de los que el usuario también es miembro. Cada grupo está separado del siguiente por una coma, sin espacios en blanco intermedios. Los grupos están sujetos a las mismas restricciones que el grupo dado con la opción -g .

    Si el usuario es actualmente un miembro de un grupo que no está en la lista, el usuario será eliminado del grupo. Este comportamiento se puede cambiar mediante la opción -a , que agrega al usuario a la lista de grupos complementarios actual.

  • ...

Ярослав Рахматуллин
fuente
Podría ayudar a explicar por qué dividir las opciones funcionaría y qué opciones son.
Journeyman Geek
@JourneymanGeek: ¡Listo! corre ...
Tamara Wijsman
los superusuarios deberían saber cómo ser hombres, en mi opinión ...
Ррослав Рахматуллин
@ ЯрославРахматуллин, los superusuarios deberían hacerlo. Sin embargo, la mayoría de las preguntas son hechas por "no superusuarios" y respondidas por "superusuarios". Alguien que es nuevo en Linux no tiene ninguna razón para conocer el comando man. En cualquier caso, el comando que le dio es el mismo que el ejecutado por el OP, su respuesta no explica por qué no funcionó para ella. Al menos en mi sistema, dividir las opciones no hace ninguna diferencia.
terdon
Bueno, en primer lugar, no puede ejecutar sudo adduser name sudo adduser name2 porque esa es una sintaxis no válida para useradd . useradd toma un argumento de nombre de usuario. Para agregar dos usuarios, debe ejecutar el comando dos veces. IE useradd arne; useradd kari. Luego puede agregar kari al grupo arnes y viceversa. Creceré un poco más de paciencia después de ver algunas de estas preguntas y responder adecuadamente. ¡promesa!
Ярослав Рахматуллин
0

Si ejecutó los comandos exactamente como lo mostró en su pregunta, no creó el usuario Keith, sino solo el usuario John. Para ejecutar comandos uno tras otro en la línea de comandos, debe separarlos con ;o &&. De lo contrario, solo se ejecutará el primer comando:

sudo adduser John sudo adduser Keith
adduser: Only one or two names allowed.

Si lo hizo ejecutar correctamente, tener cuidado con letras mayúsculas. En su pregunta, menciona tanto "John" como "John". Esto debería funcionar:

sudo adduser keith
sudo adduser john
sudo usermod -aG keith john
terdon
fuente
0

También puede editar los archivos de configuración manualmente:

sudo nano /etc/password
sudo nano /etc/group

Asigne la ID y otros campos.

KakashiSan
fuente