Comment retirer un utilisateur d'un groupe ?
Résolu
santiago69
Messages postés
477
Date d'inscription
Statut
Membre
Dernière intervention
-
santiago69 Messages postés 477 Date d'inscription Statut Membre Dernière intervention -
santiago69 Messages postés 477 Date d'inscription Statut Membre Dernière intervention -
Salut a tous,
Je cherche une commande pour retirer un utilisateur d'un groupe.
J'ai cree l'utilisateur santiago et je l'ai ajoute au groupes admins et webmasters.
Mais comment faire pour le retirer du groupe admins ?
Il y a bien sur la commande
Mais comment faire si on ne connait pas la liste des groupes auquels il appartient ?
Je voudrais pouvoir retirer une personne quelconque d'un groupe sans avoir besoin de connaitre tous les groupes auquels elle appartient.
Quelqu'un a une idee ?
Merci pour votre aide.
Santiago
Je cherche une commande pour retirer un utilisateur d'un groupe.
J'ai cree l'utilisateur santiago et je l'ai ajoute au groupes admins et webmasters.
useradd -c 'Santiago Diez' -m santiago usermod -a -G admins santiago usermod -a -G webmasters santiago
Mais comment faire pour le retirer du groupe admins ?
Il y a bien sur la commande
usermod -G webmasters santiago
Mais comment faire si on ne connait pas la liste des groupes auquels il appartient ?
Je voudrais pouvoir retirer une personne quelconque d'un groupe sans avoir besoin de connaitre tous les groupes auquels elle appartient.
Quelqu'un a une idee ?
Merci pour votre aide.
Santiago
A voir également:
- Supprimer groupe linux
- Supprimer rond bleu whatsapp - Guide
- Comment créer un groupe whatsapp - Guide
- Supprimer une page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Sous groupe whatsapp - Accueil - WhatsApp
11 réponses
il y a plus simple pour retirer l'utilisateur d'un groupe :
deluser nomdel'utilisateur nomdugroupe
(dans ton cas ça donne : deluser santiago admins )
et pour savoir dans quel groupe un utilisateur se trouve :
groups nomdel'utilisateur
(dans ton cas, ça donne : groups santiago )
Tauto ;)
deluser nomdel'utilisateur nomdugroupe
(dans ton cas ça donne : deluser santiago admins )
et pour savoir dans quel groupe un utilisateur se trouve :
groups nomdel'utilisateur
(dans ton cas, ça donne : groups santiago )
Tauto ;)
Normalement ça devrait suffire pour les 4 cas :
sed '/^admins:/ s/,*santiago//;s/:,/:/' /etc/group;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok je me demandais s'il y avait pas une commande pour le faire direct.
mais comme j'ajoute et j'enleve souvent des users de certains groupes, je voudrais le faire en ligne de commande.
en m'aidant d'une commande que tu m'avais donne la, j'ai pense ecrire le script suivant :
Est il possible de faire tous ces remplacement en un seul ou dois-je effectivement envoyer 4 commandes ?
Merci de ta reponse.
Santiago
mais comme j'ajoute et j'enleve souvent des users de certains groupes, je voudrais le faire en ligne de commande.
en m'aidant d'une commande que tu m'avais donne la, j'ai pense ecrire le script suivant :
sed '/^admins:/ s/:santiago$/:/' /etc/group sed '/^admins:/ s/:santiago,/:/' /etc/group sed '/^admins:/ s/,santiago,/,/' /etc/group sed '/^admins:/ s/,santiago$//' /etc/group
Est il possible de faire tous ces remplacement en un seul ou dois-je effectivement envoyer 4 commandes ?
Merci de ta reponse.
Santiago
la je comprends pas bien.
ta commande sed se decompose-t-elle bien comme suit ?
d'apres ta proposition, tout me porte a croire que les remplacement se font sequentielement et que donc le 2e remplacement peut modifier une chaine generee par le premier remplacement
il va chercher une chaine de la forme ",santiago" ou "santiago" et l'effacer
puis chercher une chaine de la forme ":," et la remplacer par ":"
le probleme se pose avec l'exemple suivant :
il faut donc entourer l'user des caractere delimiteurs
:anne$ (s'il n'y a qu'un utilisateur)
:anne, (s'il y en a plusieurs et qu'il est premier)
,anne, (s'il y en a plusieurs et qu'il est au milieu)
,anne$ (s'il y en a plusieurs et qu'il est dernier)
Qu'en pense tu ?
ta commande sed se decompose-t-elle bien comme suit ?
sed '/chainepourselectionnerleslignes/ s/recherche1/remplacement1/;s/recherche2/remplacement2/' chemin/vers/un/fichier
d'apres ta proposition, tout me porte a croire que les remplacement se font sequentielement et que donc le 2e remplacement peut modifier une chaine generee par le premier remplacement
il va chercher une chaine de la forme ",santiago" ou "santiago" et l'effacer
puis chercher une chaine de la forme ":," et la remplacer par ":"
le probleme se pose avec l'exemple suivant :
$ grep '^admins:' /etc/group admins:x:104:johanne,santiago,anne,annette $ sed '/^admins:/ s/,*anne//;s/:,/:/' /etc/group admins:x:104:joh,santiagotte
il faut donc entourer l'user des caractere delimiteurs
:anne$ (s'il n'y a qu'un utilisateur)
:anne, (s'il y en a plusieurs et qu'il est premier)
,anne, (s'il y en a plusieurs et qu'il est au milieu)
,anne$ (s'il y en a plusieurs et qu'il est dernier)
Qu'en pense tu ?
Vachement balese, ca marche !
Mais c'est quoi au juste ce \b ?
Je ne le trouve pas dans les specifications des expressions regulieres.
Mais c'est quoi au juste ce \b ?
Je ne le trouve pas dans les specifications des expressions regulieres.
The symbol \b matches the empty string at the edge of a word.
Ca me parait clair, mais qu'est ce qu'un "mot" et quelles sont ses limites ?
Un "mot" est il une suite de lettres de l'alphabet uniquement ? Dans ce cas quel alphabet ?
Et s'il y a des chiffres ? Font ils parti du "mot" ?
Avant de poster, j'ai quand meme fait une batterie de tests :
Un "mot" semble etre toute suite de caractere alpha-numeriques.
Ceci inclus - d'apres mes tests - les chiffres, minuscules et majuscules (y compris les lettres comme é ou ç)
"C'est-a-dire" est par exemple compose de 4 mots.
Tu confirmes ? Ai-je oublie quelquechose ?
Merci infiniment de prendre autant de temps pour partager tes connaissances. Mon pere disait souvent :
"Nunca te acostaras
Sin saber una cosa mas"
En espagnol, ca rime et en francais ca donne :
"Ne va jamais au lit
Sans avoir appris quelquechose"
Bon ben c'est cool, j'ai fini ma journee ;o)
J'ai un nouveau probleme. Je voudrais comme explique plus haut mettre cela dans un script.
A cause de la syntaxe de sed qui utilise des quotes, mes variables $1 et $2 ne sont pas interpretees.
J'ai essaye avec des guillemets :
Visiblement ca marche. Est ce qu'il y a un risque a utiliser le guillemet plutot que la quote ?
$ cat /usr/local/bin/groupdeluser #!/bin/bash sed '/^$1:/ s/,*$2//;s/:,/:/' /etc/group
A cause de la syntaxe de sed qui utilise des quotes, mes variables $1 et $2 ne sont pas interpretees.
J'ai essaye avec des guillemets :
$ cat /usr/local/bin/groupdeluser #!/bin/bash sed "/^$1:/ s/,*$2//;s/:,/:/" /etc/group
Visiblement ca marche. Est ce qu'il y a un risque a utiliser le guillemet plutot que la quote ?
Je ne suis pas un grand spécialiste des regex (voir plutôt avec "lami20j" pour ça), je m'en démerde un peu à ma sauce, mais je n'ai pas assez de notions pour en expliquer certaines syntaxes sans tomber dans les travers et les sortir sûrement de leur contexte initial.
Désolé.
Merci pour la citation de ton papa (qui au passage vient du même pays que le mien, enfin à côté, catalogne oblige ;-)) ).
Désolé.
Merci pour la citation de ton papa (qui au passage vient du même pays que le mien, enfin à côté, catalogne oblige ;-)) ).