Quelle commande devrais-je utiliser pour supprimer un utilisateur d'un groupe dans Debian?
Lorsque vous ajoutez un utilisateur à un groupe, vous pouvez le faire avec:
usermod -a -G group user
Cependant, je n'ai pas trouvé de commande similaire (acceptant un groupe et un utilisateur comme arguments) pour supprimer l'utilisateur du groupe. Le plus proche que je pourrais obtenir est:
usermod -G all,existing,groups,except,for,group user
Existe-t-il une commande comme usermod OPTION group user
avec OPTION une option permettant de faire usermod
disparaître l’utilisateur du groupe (ou un programme similaire)?
Réponses:
Vous pouvez utiliser
gpasswd
:alors le nouveau groupe config sera assigné à la prochaine connexion, au moins sur Debian. Si l'utilisateur est connecté, les effets de la commande ne sont pas visibles immédiatement.
la source
gpasswd -a user group
pour ajouter l'utilisateur au groupe semble également plus agréable, surtout si une faute de frappe a été faite et l'-a
option est supprimée.usermod -g user user
puis essayez de les supprimer.Sur Debian, le
adduser
paquet contient undeluser
programme qui supprime un utilisateur d’un groupe si vous transmettez les deux en tant qu’arguments:Si votre distribution n'en a pas
adduser
, vous pouvez éditer/etc/group
et/etc/gshadow
manuellement.la source
vigr
etvipw
. Très utile si les pages de manuel sont trop éloignées :)/etc/group
exécutezgrpconv
pour mettre à jour/etc/gshadow
plutôt que de le modifier.sudo deluser jenkins admin
/ usr / sbin / deluser: vous ne pouvez pas supprimer l'utilisateur de son groupe principal.usermod
ouvipw
pour changer le groupe principal de l'utilisateur. Cette question concernait des groupes supplémentaires.adduser $user $group
commande plus simple à la place deusermod -x -y -z -...
.supprime tous les groupes secondaires / supplémentaires du nom d' utilisateur , en les laissant en tant que membres de leur groupe principal uniquement. cela a fonctionné dans Solaris 5.9
la source
C'est l'approche "old school" ...
La plupart des systèmes * nix conservent les informations de groupe dans un fichier texte brut
/etc/group
, oùchaque ligne contient les champs
délimité par le
:
personnage.Supposons maintenant que vous souhaitiez supprimer un utilisateur nommé
thisuser
d'un groupe nomméthatgroup
. Commencez par sauvegarder/etc/group
, puis utilisez l’éditeur de votre choix avec les privilèges su pour modifier le fichier/etc/group
et supprimer lathisuser
référence de lathatgroup
ligne, par exemple,La ligne originale ressemble à ceci:
thatgroup:x:1274:someuser,thisuser,anotheruser
après l'édition devrait être laissé comme ceci:
thatgroup:x:1274:someuser,anotheruser
Comme pour toutes les autres réponses, cela n'affectera pas les sessions en cours de l'utilisateur, le cas échéant (c'est-à-dire si l'utilisateur est actuellement connecté). La modification prendra effet à la prochaine connexion de l'utilisateur.
la source
vigr
a déjà été mentionné pour l'édition/etc/group
manuelle. Mes pages de manuel dit que les noms d'utilisateur sont séparés par des virgules et non par des deux-points. Le redémarrage n'est pas nécessaire, il vous suffit de vous reconnecter (ou de l'utilisernewgrp
).Vous pouvez utiliser la commande ci-dessous sur les distributions SUSE (et apparemment aucune autre ).
où
group
est le groupe dont vous souhaitez supprimer l'utilisateur etuser_name
l'utilisateur que vous souhaitez supprimer du groupe. Par exemple,la source
-R
option, mais cela signifie autre chose. Ce n'est pas Linux, je suppose.-R
: "-R, --root CHROOT_DIR Appliquez les modifications dans le répertoire CHROOT_DIR et utilisez les fichiers de configuration du répertoire CHROOT_DIR."sudo usermod -R admin jenkins
usermod: chemin d'accès chroot non valide 'admin'Considérer:
abc2
nom de groupe:
newgroup11
Tâche: Supprimer un utilisateur
abc2
du groupenewgroup11
** Veuillez me corriger si je me trompe. **
la source
usermod -G newgroup11 abc2
vous mettra dans le groupe secondairenewgroup11
. Puisque le groupe principal estabc2
, vous vous retrouverez dans les deux groupes.usermod -g abc2 abc2
aboutit ànewgroup11
être supprimé des groupes secondaires car il n'est plus mentionné. Donc, pour trois groupes différents ou plus, cette méthode ne fonctionnera pas. Voir les autres réponses impliquantgpasswd
pour une meilleure commande.Vous pouvez supprimer un utilisateur du groupe en exécutant la commande usermod sans l'option -a. Par exemple, en exécutant "usermod -G nomutilisateur groupe1", l'utilisateur sera ajouté au groupe1 et sera supprimé de tous les autres groupes où il se trouve. N'oubliez pas que vous pouvez conserver l'utilisateur dans différents groupes en listant les noms des groupes, séparés par des virgules.
la source
Pour continuer à utiliser usermod dans une distribution (comme Fedora) qui ne possède pas d’option de suppression, où user = bob et group = deletethisgroup, la commande est la suivante:
Les tuyaux (1) obtiennent toutes les entrées de groupe auxquelles l'utilisateur appartient, (2) suppriment celle qui doit être supprimée, (3) renvoie la première colonne (nom du groupe), remplace la nouvelle ligne par une virgule et supprime la virgule de fin.
Bien sûr, vous pourriez mettre tout cela dans un script bash qui demande à l'utilisateur et au groupe d'être supprimés en tant que paramètres. awk pourrait être utilisé pour raccourcir la fin mais je voulais m'en tenir à grep, cut, tr and sed.
la source
gpasswd -d bob deletethisgroup
est également disponible. Une raison pour laquelle vous ne l'utilisez pas?gpasswd
car il est étroitement lié à/etc/passwd
, mais gère plutôt des groupes. Contrairement à lapasswd
commande plain qui ne contrôle que les mots de passe,gpasswd
peut également être utilisée pour gérer l'appartenance à un groupe. Un mot de passe de groupe n'est pas requis si vous êtes administrateur root ou de groupe.gpasswd $group
Vous pouvez définir le mot de passe du groupe qui cause le problème de sécurité que vous avez mentionné. Cependant, vous pouvez également ne pas avoir de mot de passe et utilisergpasswd -d $user $group
pour supprimer un utilisateur comme décrit dans le premier commentaire et la réponse acceptée. Notez que cette commande ne demande pas de mot de passe de groupe et ne la modifie ni ne l'exige.Supposons que nom d'utilisateur = étudiant et nom de groupe = recherche . Par conséquent, pour supprimer un
student
utilisateur duresearch
groupe, procédez comme suit:la source
Une solution si vous utilisez CSH, pour une raison quelconque.
la source
Pour supprimer un utilisateur d'un groupe, gpasswd est le meilleur utilitaire pour cette OMI.
Exemple de commande:
* Informations d'aide *
la source