Comment append un groupe à un user sans supprimer un autre groupe dans suse linux avec usermod?

J'ai un user, qui a un groupe primaire et un groupe secondaire, comme:

[ testuser Welcome ~ ]$ id uid=2000(testuser) gid=2000(testuser) groups=2000(testuser),27(sudo),2001(testgroup) 

Le groupe principal est testuser & le groupe secondaire est testgroup .

Maintenant, j'essaie d'append un groupe secondaire testgroup2 à cet user avec la command ci-dessous

 usermod -G testgroup2 testuser 

mais il a supprimé le groupe secondaire précédent (groupe de testgroup ) et ajouté le nouveau. J'ai besoin que le groupe secondaire précédent ne soit pas supprimé et que le nouveau groupe secondaire soit ajouté.

J'ai vu dans ubuntu, il y a une option comme -a qui peut append le groupe à l'user sans supprimer l'autre groupe.

S'il vous plaît laissez-moi savoir est-il aussi possible sur suse Linux ou pas …?

Thankx !!!

Dans SLES11 SP3, la command usermod (de pwdutils 3.2.15) prend en charge une option -A qui fera ce que vous voulez:

 -A, --add-to-group group,... With this option a list of groups can be specified, which the user should become a member of. Each group is separated from the next one only by a comma, without whitespace. 

Dans SLES12 et OpenSUSE 13.1, la command usermod (à partir de shadow-utils 4.1.5.1, plus largement utilisée) prend en charge une option -a à utiliser conjointement avec l'option -G :

 -a, --append Add the user to the supplemental group(s). Use only with -G option. -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. If the user is currently a member of a group which is not listd, the user will be removed from the group. This behaviour can be changed via the -a option, which appends the user to the current supplementary group list. 

Si votre usermod n'a aucun moyen d'append (même pas -A ), essayez d'append à l'set de groupes actuel:

 usermod -G "$(groups testuser | sed 's/.*: //;s/ /,/g'),testgroup2" testuser 

Cette command vous permet de spécifier une list de tous les groupes, elle remplace les anciens.

  -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same ressortingctions as the group given with the -g option. 

Utilisez plutôt adduser :

 adduser [options] user group 

adduser peut être utilisé pour append un user, mais aussi pour append un user à un groupe.


ou comme @mark plotnick le souligne, utilisez l'option -a de usermod