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
- En tant qu'utilisateursah, vous pouvez afficher votre appartenance au groupe en cours et l'ensemble de groupes de processus, en entrant:
Une sortie similaire à la suivante apparaît:setgroupssah: user groups = staff,payroll process groups = staff,payroll - Pour ajouter lefinanceau groupe de processus de la session en cours, entrez:setgroups -a finance
- Pour définir votre groupe réel surfinance, entrez:
Cet ensemblefinanceen tant que groupe réel. :NONE.staffetpayrollLes groupes constituent la liste des groupes supplémentaires.setgroups finance,staff,payroll - Pour supprimer lepayrollgroupe à partir de l'ensemble de groupes de processus en cours, entrez:setgroups -d payroll
- 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. |