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.
...