Commande setgroups

Objectif

Réinitialise l'ensemble de groupes de processus d'une session.

Syntaxe

setgroups [ - ] [ -a GroupSet ] [ -d GroupSet ] [ -r [ Groupe ] ] [ GroupSet ]

Descriptif

La commande setgroups , par défaut, affiche l'ensemble de groupes en cours de l'utilisateur et l'ensemble de groupes de processus pour l'interpréteur de commandes en cours. Un ensemble de groupes d'utilisateurs est défini dans les fichiers de base de données utilisateur. Lorsqu'elle est associée à un indicateur et à un paramètre GroupSet , cette commande réinitialise l'ensemble de groupes de processus comme indiqué par le paramètre GroupSet . Le paramètre GroupSet est une liste de noms de groupe séparés par des virgules. Les groupes disponibles sont définis dans les fichiers de base de données utilisateur.

Vous pouvez également utiliser la commande setgroups pour ajouter ou supprimer des groupes de l'ensemble de groupes en cours. A l'aide de l'indicateur -r , vous pouvez réinitialiser l'ID de groupe réel. Si vous spécifiez le paramètre Groupset mais pas d'indicateur, la commande setgroups réinitialise tous les groupes et fait du premier groupe de la liste le groupe réel. La commande setgroups ne modifie pas les caractéristiques de sécurité du terminal de contrôle.

Lorsque vous exécutez la commande setgroups , le système remplace toujours votre shell par un nouveau. La commande remplace votre interpréteur de commandes, que la commande aboutisse ou non. Pour cette raison, la commande ne renvoie pas de codes d'erreur.

La commande setgroups -r est identique à la commande newgrp.

Indicateurs

Article Descriptif
-a GroupSet Ajoute les groupes spécifiés par le paramètre GroupSet à la session en cours. Le nombre de groupes du nouvel ensemble ne doit pas dépasser NGROUPS_MAX groupes, valeur définie dans le fichier limits.h . L'ID de groupe réel n'est pas modifié.
-d GroupSet Supprime les groupes spécifiés par le paramètre GroupSet de la session en cours. Si le groupe réel est supprimé, le groupe suivant répertorié dans l'ensemble en cours devient le groupe réel.
-r Groupe Réinitialise le groupe réel pour le processus en cours. Si vous n'indiquez pas de paramètre Groupe et que le groupe réel en cours n'est pas le groupe principal, l'indicateur -r supprime le groupe réel en cours et réinitialise le groupe réel au groupe principal d'origine. Si vous spécifiez un paramètre Group , celui-ci se comporte de la même manière que la commande newgrp .
- Réinitialise l'ensemble de groupes de la session à son état de connexion d'origine.

Security

Contrôle d'accès: Cette commande doit être un programme utilisateur général. Cette commande doit être installée en tant que programme dans la base informatique sécurisée (TCB). La commande doit appartenir à l'utilisateur root avec le bit setuid (SUID) défini.

Fichiers accédés :

Mode Fichiers
R /etc/passwd
R /etc/group

Evénements d'audit :

Article Descriptif
Evénement Informations
Article Descriptif
USER_SetGroups realgroup, ensemble de groupes

Exemples

  1. En tant qu'utilisateursah, vous pouvez afficher votre appartenance au groupe en cours et l'ensemble de groupes de processus, en entrant:
    setgroups
    Une sortie similaire à la suivante apparaît:
    sah:
    
       user groups = staff,payroll
       process groups = staff,payroll
  2. Pour ajouter lefinanceau groupe de processus de la session en cours, entrez:
    setgroups  -a  finance
  3. Pour définir votre groupe réel surfinance, entrez:
    setgroups finance,staff,payroll
    Cet ensemblefinanceen tant que groupe réel. :NONE.staffetpayrollLes groupes constituent la liste des groupes supplémentaires.
  4. Pour supprimer lepayrollgroupe à partir de l'ensemble de groupes de processus en cours, entrez:
    setgroups  -d  payroll
  5. Pour rétablir l'ensemble par défaut du groupe de processus, entrez:
    setgroups   -
    Cette opération réinitialise votre session en cours à son état d'origine juste après la connexion.

Fichiers

Article Descriptif
/usr/bin/setgroups Contient la commande setgroups .
/etc/group Contient des attributs de groupe de base.
/etc/passwd Contient des attributs utilisateur de base.