CHGAUT
Modifier les droits
En bref
La commande CHGAUT (Modifier des droits) permet de modifier les droits d'un utilisateur sur l'objet ou le groupe d'objets désigné dans la commande.
CHGAUT se lit CHG
(Modifier) + AUT.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CHGAUT OBJ(…)
Paramètres
-
OBJObjet obligatoire -
USERUtilisat -
DTAAUTNouveaux droits sur données -
OBJAUTNouveaux droits sur l'objet -
AUTLListe d'autorisation -
SUBTREEBranche du répertoire -
SYMLNKLien symbolique
Astuce : dans une session 5250, tapez CHGAUT puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Oui
La commande CHGAUT (Modifier des droits) permet de modifier les droits d'un utilisateur sur l'objet ou le groupe d'objets désigné dans la commande. Vous pouvez modifier le droit sur un groupe d'objets associés à l'aide d'un masque de nom d'objet.
La commande CHGAUT permet également de modifier le droit d'une arborescence lorsque la modification de droit s'étend au répertoire, à son contenu et au contenu de tous les sous-répertoires associés. Indiquée avec SUBTREE(*ALL), cette commande tente de modifier le droit de tous les objets de la branche. Le système envoie un message de diagnostic pour chaque objet dont le droit n'est pas modifiable. Une fois la modification de droit essayée en vain sur tous les objets, le système envoie un message d'arrêt programme. Si la modification de droit aboutit pour tous les objets, le système envoie un message d'achèvement.
Si un objet lien symbolique est détecté (dans le paramètre Objet (OBJ) ou dans le traitement d'une branche), il reçoit la valeur indiquée pour le paramètre Lien symbolique (SYMLNK). S'il s'agit du traitement d'une branche, l'opération s'arrête car un objet lien symbolique ne peut pas comporter de branche.
Des droits peuvent être accordés aux utilisateurs suivants :
- Utilisateurs nommés
- Utilisateurs disposant des droits publics mais pas de droits spécifiques sur l'objet ou sur la liste d'autorisation.
- Filtre de droits hérités NetWare pour le fichier (utilisé uniquement par le système de fichiers QNetWare).
- Groupes d'utilisateurs qui ne disposent pas de droits sur l'objet et qui ne font pas partie de la liste d'autorisation protégeant l'objet.
- Utilisateurs figurant sur une liste d'autorisation établie.
Si le paramètre DTAAUT a pour valeur *AUTL, les droits sont accordés aux utilisateurs suivants :
- Utilisateurs ne disposant pas d'un droit spécifique sur un objet.
- Utilisateurs ne figurant pas sur la liste d'autorisation qui protège l'objet.
- Utilisateurs dont le groupe ne dispose pas de droits spécifiques.
- Utilisateurs dont le groupe ne figure pas dans la liste d'autorisation qui protège l'objet.
DTAAUT(*AUTL) n'est admis que si USER a pour valeur *PUBLIC. Les profils utilisateur ne peuvent être protégés par une liste d'autorisation.
Reportez-vous à l'annexe D du manuel IBM i Security Reference, SC41-5302, pour connaître les droits requis pour l'utilisation de cette commande.
Pour plus d'informations sur les commandes du système de fichiers intégré, reportez-vous aux Rubriques Système de fichiers intégré de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Restrictions :
- Lors d'un traitement par branche, vous devez également disposer des droits de lecture (*R) et d'exécution (*X) sur le nom de chemin et sur tous les sous-répertoires qu'il inclut.
- Si les droits sont modifiés pour un objet faisant partie du système de fichiers QSYS.LIB ou du système indépendant ASP QSYS.LIB :
- Un utilisateur doit être propriétaire de l'objet ou disposer du droit spécial *ALLOBJ (tous les objets) pour exécuter cette commande sur un objet.
- Cette commande doit obtenir un verrouillage exclusif sur un fichier base de données avant d'accorder le droit de lecture ou le droit d'opération sur l'objet à un utilisateur.
- Si vous souhaitez accorder à un utilisateur des droits sur une unité alors que celle-ci est utilisée par un autre utilisateur autorisé, ces droits ne sont pas accordés.
- N'utilisez pas cette commande pour modifier les droits sur un objet liste d'autorisation (/QSYS.LIB/nom-liste-d'autorisation.AUTL).
- DTAAUT(*AUTL) n'est admis qu'avec USER(*PUBLIC).
- Une unité, un contrôleur ou une ligne doit être en fonction pour que vous puissiez accorder des droits pour l'utilisation de sa description.
- Dans le cas de claviers-écrans ou de files d'attente de messages associées, vous pouvez : (1) entrer cette commande sur l'unité pour laquelle les droits doivent être accordés ou (2) exécuter d'abord la commande ALCOBJ (Allouer un objet), puis la commande DLCOBJ (Désallouer un objet).
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| OBJ | Objet | Chemin d'accès | Obligatoire, positionnel 1 |
| USER | Utilisat | Valeurs uniques: *PUBLIC Autres valeurs (jusqu'à 50 répétitions): Nom |
Facultatif, positionnel 2 |
| DTAAUT | Nouveaux droits sur données | *SAME, *NONE, *RWX, *RX, *RW, *WX, *R, *W, *X, *EXCLUDE, *AUTL | Facultatif, positionnel 3 |
| OBJAUT | Nouveaux droits sur l'objet | Valeurs uniques: *SAME, *NONE, *ALL Autres valeurs (jusqu'à 4 répétitions): *OBJEXIST, *OBJMGT, *OBJALTER, *OBJREF |
Facultatif, positionnel 4 |
| AUTL | Liste d'autorisation | Nom, *NONE | Facultatif |
| SUBTREE | Branche du répertoire | *NONE, *ALL | Facultatif |
| SYMLNK | Lien symbolique | *NO, *YES | Facultatif |
Objet (OBJ)
Indique l'objet (ou le masque correspondant à plusieurs objets) sur lequel des droits spécifiques doivent être accordés à un ou plusieurs utilisateurs ou à une liste d'autorisation.
Pour obtenir de plus amples informations relatives à la spécification des noms de chemin, reportez-vous à "Object naming rules" dans la rubrique Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Ce paramètre est obligatoire.
Remarque :Ce paramètre est compatible Unicode. Pour plus d'informations, reportez-vous à la section sur la prise en charge Unicode dans CL, dans les Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
- nom-chemin
- Indiquez le nom du chemin des objets pour lesquels les droits spécifiques doivent être modifiés.
Le nom du chemin de l'objet peut être soit un nom simple soit un nom qualifié du nom du répertoire contenant l'objet. Vous pouvez utiliser un masque dans la dernière partie du nom de chemin. Un astérisque (*) représente tout nombre de caractères et un point d'interrogation (?) correspond à un caractère unique. Si le nom de chemin est qualifié ou qu'il contient un masque, il doit être indiqué entre apostrophes.
Utilisat (USER)
Indique les utilisateurs dont les droits sur les objets indiqués pour le paramètre Objet (OBJ) doivent être modifiés. Si des noms d'utilisateurs sont indiqués, les droits associés sont spécifiquement modifiés.
Remarque :Vous devez indiquer ce paramètre ou le paramètre Liste d'autorisation (AUTL).
Valeurs uniques
- *PUBLIC
- Tout utilisateur qui ne dispose pas de droit sur l'objet à titre spécifique, qui ne figure pas dans la liste d'autorisation, dont le groupe ne détient aucun droit ou ne figure pas dans la liste d'autorisation, est autorisé à utiliser l'objet dans les conditions indiquées aux paramètres Nouveaux droits sur données (DTAAUT) et Nouveaux droits sur l'objet (OBJAUT).
Autres valeurs (jusqu'à 50 répétitions)
- nom
- Indiquez le nom du profil de l'utilisateur désigné comme détenteur de droits spécifiques sur l'objet. Vous pouvez indiquer jusqu'à 50 noms de profil utilisateur.
Nouveaux droits sur données (DTAAUT)
Indique les droits sur les données devant être accordés aux utilisateurs spécifiés dans le paramètre Utilisat (USER). Si une valeur autre que *SAME est précisée, celle-ci remplace les droits sur les données que les utilisateurs détiennent pour les objets.
- *SAME
- Les droits sur les données dont disposent les utilisateurs pour les objets ne sont pas modifiés.
- *NONE
- Aucun droit sur les données n'est accordé aux utilisateurs pour les objets.
- *RWX
- Les utilisateurs reçoivent les droits *RWX sur les objets. Ces droits permettent d'effectuer toutes les opérations sur les objets, à l'exception de celles réservées au propriétaire ou contrôlées par les droits de gestion et de modification des attributs de l'objet ainsi que par les droits d'existence et de référence sur l'objet. L'utilisateur peut modifier l'objet et effectuer des opérations de base sur celui-ci. Les droits *RWX comprennent le droit d'opération sur l'objet et tous les droits sur les données.
- *RX
- Les utilisateurs reçoivent les droits *RX qui permettent d'effectuer les opérations de base sur l'objet telles que l'exécution d'un programme ou l'affichage du contenu d'un fichier. Toutefois, cet utilisateur ne peut pas modifier l'objet. Les droits *RX comprennent le droit d'opération sur l'objet, ainsi que les droits de lecture et d'exécution.
- *RW
- Les utilisateurs reçoivent les droits *RW qui permettent de visualiser et de modifier le contenu d'un objet. Les droits *RW comprennent le droit d'opération sur l'objet, ainsi que les droits de lecture, d'ajout, de mise à jour et de suppression sur les données.
- *WX
- Les utilisateurs reçoivent les droits *WX qui permettent de modifier le contenu d'un objet, d'exécuter un programme, ou d'effectuer des recherches dans une bibliothèque ou un répertoire. Les droits *WX comprennent le droit d'opération sur l'objet, ainsi que les droits d'ajout, de mise à jour, de suppression et d'exécution sur les données.
- *R
- Les utilisateurs reçoivent les droits *R qui permettent de visualiser le contenu d'un objet. Ils comprennent le droit d'opération sur l'objet et le droit de lecture sur les données.
- *W
- Les utilisateurs reçoivent les droits *W qui permettent de modifier le contenu d'un objet. Ils comprennent le droit d'opération sur l'objet, ainsi que les droits d'ajout, de mise à jour et de suppression sur les données.
- *X
- Les utilisateurs reçoivent les droits *X qui permettent d'exécuter un programme, ou d'effectuer des recherches dans une bibliothèque ou un répertoire. Les droits *X comprennent le droit d'opération sur l'objet et le droit d'exécution sur les données.
- *EXCLUDE
- Le droit d'exclusion interdit à l'utilisateur l'accès à l'objet.
- *AUTL
- Les droits publics de la liste d'autorisation indiquée au paramètre AUTL sont utilisés pour l'objet.
Nouveaux droits sur l'objet (OBJAUT)
Indique les droits sur les objets devant être accordés aux utilisateurs spécifiés dans le paramètre Utilisat (USER). Si une valeur autre que *SAME est précisée, celle-ci remplace les droits sur les objets (*OBJEXIST, *OBJMGT, *OBJALTER et *OBJREF) dont les utilisateurs disposent actuellement.
Valeurs uniques
- *SAME
- Les droits sur les objets dont disposent les utilisateurs ne sont pas modifiés.
- *NONE
- Aucun autre droit sur l'objet (existence, gestion, modification ou référence) n'est accordé aux utilisateurs. Si *EXCLUDE ou *AUTL est indiqué au paramètre DTAAUT, cette valeur est requise.
- *ALL
- Tous les autres droits sur l'objet (existence, gestion, modification ou référence) sont accordés aux utilisateurs.
Autres valeurs (jusqu'à 4 répétitions)
- *OBJEXIST
- Le droit d'existence sur l'objet est accordé aux utilisateurs.
- *OBJMGT
- Le droit de gestion de l'objet est accordé aux utilisateurs.
- *OBJALTER
- Le droit de modification de l'objet est accordé aux utilisateurs.
- *OBJREF
- Le droit de référence sur l'objet est accordé aux utilisateurs.
Liste d'autorisation (AUTL)
Indique la liste d'autorisation dont les utilisateurs doivent recevoir les droits sur les objets indiqués dans le paramètre Objet (OBJ).
Remarque :Vous devez indiquer ce paramètre ou le paramètre Utilisateurs (USER). Si vous indiquez ce paramètre, les paramètres DTAAUT et OBJAUT sont ignorés.
- *NONE
- La liste d'autorisation en cours est enlevée de l'objet.
- nom
- Indiquez le nom de la liste d'autorisation à utiliser pour sécuriser l'objet. Si l'objet est protégé par une liste d'autorisation, celle-ci est désormais utilisée pour le sécuriser.
Branche du répertoire (SUBTREE)
Indique si les objets de la branche doivent être modifiés lorsque l'objet désigné par le paramètre Objet (OBJ) est un répertoire ou une bibliothèque.
- *NONE
- Les objets indiqués par le paramètre OBJ sont modifiés. Si l'objet est un répertoire ou une bibliothèque, il est modifié, mais son contenu ne l'est pas.
- *ALL
- Les objets indiqués par le paramètre OBJ sont modifiés. Si l'objet est un répertoire ou une bibliothèque, il est vérifié ainsi que son contenu et celui de tous les sous-répertoires associés.
Remarque :Le critère de concordance par rapport au paramètre OBJ ne s'applique qu'aux objets de premier niveau. Si l'objet de premier niveau est un répertoire ou une bibliothèque, le critère de concordance ne s'applique pas à son contenu ni à celui des sous-répertoires associés.
Remarque :La durée d'exécution de cette commande peut être longue avec SUBTREE(*ALL) lorsque de nombreux sous-répertoires doivent être traités.
Une fois que la commande a commencé à traiter une branche d'un répertoire spécifique, les objets localisés et traités peuvent être affectés par les opérations qui mettent à jour l'organisation des objets dans l'arborescence de répertoire spécifiée. Cela inclut, sans caractère limitatif, les éléments suivants :
- Ajout, suppression ou nouvelle dénomination des liens d'objet
- Montage ou démontage des systèmes de fichiers
- Mise à jour du répertoire racine effectif pour le processus qui appelle la commande
- Mise à jour du contenu d'un lien symbolique
Pour traiter la branche du répertoire, le code du système peut augmenter le nombre maximal de descripteurs de fichier, dans la portée du processus, qui peuvent être ouverts lors du traitement. Cette opération est effectuée afin que la commande ne soit pas susceptible d'échouer en raison d'un manque de descripteurs. Cette valeur maximale de portée de processus n'est pas réinitialisée à la fin de la commande.
Lien symbolique (SYMLNK)
Si l'objet est un lien symbolique, permet d'indiquer si vous voulez modifier le lien symbolique ou l'objet qu'il désigne.
- *NO
- L'objet lien symbolique n'est pas modifié, contrairement à l'objet désigné par le lien symbolique.
- *YES
- Si l'objet est un lien symbolique, le lien symbolique est modifié. L'objet désigné par le lien symbolique n'est pas modifié.
Exemples
Exemple 1 : modification des droits de tous les utilisateurs
CHGAUT OBJ('/QSYS.LIB/USERLIB.LIB/PROGRAM1.PGM')
USER(*PUBLIC) DTAAUT(*RW)
Cette commande sert à octroyer le droit d'utiliser et modifier l'objet appelé PROGRAM1 à tous les utilisateurs du système auxquels aucuns droits spécifiques n'ont été expressément accordés, ne figurant pas dans une liste d'autorisation ou appartenant à des groupes d'utilisateurs n'ayant aucun droit sur l'objet ou ne figurant pas dans la liste d'autorisation. L'objet est un programme (*PGM) situé dans la bibliothèque USERLIB. Etant donné que le paramètre OBJAUT n'est pas spécifié, les droits sur les objets attribués à *PUBLIC restent en vigueur.
Exemple 2 : modification des droits d'utilisateurs figurant dans la liste d'autorisation
CHGAUT OBJ('/QSYS.LIB/MYLIB.LIB/PRGM3.PGM') AUTL(KLIST)
Cette commande accorde aux utilisateurs les droits qui leur sont attribués dans la liste d'autorisation KLIST pour l'objet PRGM3. L'objet est un programme situé dans la bibliothèque MYLIB.
Les exemples ci-après utilisent le diagramme suivant :
* sym1 (lien symbolique vers dir1) * * * dir1 * * * * * * * * * * * * * dir2.1 dir2.2 dir2.3 * * * * * * * * * dir3.1 dir3.2 sym3.3 (lien symbolique vers dirA) * * * dirA * * * * * * * * * * * * * dirB.1 dirB.2 dirB.3 *
Exemple 3 : modification de droit d'un lien symbolique avec SYMLNK(*NO)
CHGAUT OBJ('/sym1') USER(JOEUSER) DTAAUT(*RX)
SUBTREE(*ALL) SYMLNK(*NO)
Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un lien symbolique. Par conséquent, le paramètre SUBTREE est ignoré, car un objet lien symbolique ne possède pas de branche. Ensuite, l'objet désigné par le lien symbolique sym1 (dir1) devient la cible de l'opération car le paramètre SYMLNK indique que l'objet de lien symbolique ne doit pas être la cible de l'opération.
Dans cet exemple, le droit de JOEUSER sur dir1 est modifié. Les droits de JOEUSER sur l'objet lien symbolique (sym1) et sur le contenu de dir1 ne sont pas modifiés.
Exemple 4 : modification de droit d'un lien symbolique avec SYMLNK(*YES)
CHGAUT OBJ('/sym1') USER(JOEUSER) DTAAUT(*R) OBJAUT(*OBJMGT)
SUBTREE(*ALL) SYMLNK(*YES)
Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un lien symbolique. Par conséquent, le paramètre SUBTREE est ignoré, car un objet lien symbolique ne possède pas de branche. Ensuite, l'objet de lien symbolique (sym1) devient la cible de l'opération car le paramètre SYMLNK indique que l'objet de lien symbolique doit être la cible de l'opération.
Dans cet exemple, le droit de JOEUSER sur sym1 est modifié. Les droits de JOEUSER sur l'objet désigné par le lien symbolique (dir1) et sur le contenu de dir1 ne sont pas modifiés.
Exemple 5 : modification de droit d'un répertoire avec SUBTREE(*ALL) et SYMLNK(*NO)
CHGAUT OBJ('/dir1') USER(JOEUSER) DTAAUT(*R) OBJAUT(*OBJMGT)
SUBTREE(*ALL) SYMLNK(*NO)
Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un répertoire. Par conséquent, les branches sont traitées. Si un objet *SYMLNK est détecté lors du traitement de l'arborescence, il reçoit la valeur du paramètre SYMLNK. Lorsque le paramètre SYMLNK a pour valeur *NO, l'objet désigné par le lien symbolique devient la cible de l'opération. Ensuite, le traitement de cette branche de l'arborescence s'arrête, car l'objet *SYMLNK ne possède pas de branche.
Dans cet exemple, le droit de JOEUSER sur dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, dirA est modifié. Le droit de JOEUSER sur sym3.3, dirB.1, dirB.2, dirB.3 n'est pas modifié.
Exemple 6 : modification de droit d'un répertoire avec SUBTREE(*ALL) et SYMLNK(*YES)
CHGAUT OBJ('/dir1') USER(JOEUSER) DTAAUT(*R) OBJAUT(*OBJMGT)
SUBTREE(*ALL) SYMLNK(*YES)
Cette commande détermine d'abord si des branches doivent être traitées. L'objet désigné dans le paramètre OBJ est un répertoire. Par conséquent, les branches sont traitées. Si un objet *SYMLNK est détecté lors du traitement de l'arborescence, il reçoit la valeur du paramètre SYMLNK. Lorsque le paramètre SYMLNK a pour valeur *YES, l'objet de lien symbolique devient la cible de l'opération. Ensuite, le traitement de cette branche de l'arborescence s'arrête, car l'objet *SYMLNK ne possède pas de branche.
Dans cet exemple, le droit de JOEUSER sur dir1, dir2.1, dir2.2, dir2.3, dir3.1, dir3.2, sym3.3 est modifié. Le droit de JOEUSER sur dirA, dirB.1, dirB.2, dirB.3 n'est pas modifié.
Exemple 7 : modification de droit d'un répertoire avec SUBTREE(*NONE) et SYMLNK(*NO)
CHGAUT OBJ('/dir1') USER(JOEUSER) DTAAUT(*R) OBJAUT(*OBJMGT)
SUBTREE(*NONE) SYMLNK(*NO)
Cette commande ne traite pas les branches. L'objet désigné dans le paramètre OBJ n'est pas un lien symbolique. Par conséquent, le paramètre SYMLNK est ignoré.
Le droit de JOEUSER sur dir1 est modifié.
REMARQUE :
Pour que les objets dirB.1, dirB.2 et dirB.3 deviennent la cible de l'opération, incluez-les individuellement dans le paramètre OBJ de la commande ou indiquez la commande avec OBJ('/dirA') and SUBTREE(*ALL).
Messages d'erreur
Messages *ESCAPE
- CPE3101
- Une erreur d'entrée-sortie irrécupérable s'est produite. A non-recoverable I/O error occurred.
- CPE3408
- L'adresse utilisée pour un argument n'était pas correcte. The address used for an argument was not correct.
- CPE3418
- Condition APAR possible ou panne matérielle. Possible APAR condition or hardware failure.
- CPE3474
- Unknown system state.
- CPFA0AA
- Une erreur s'est produite pendant l'allocation d'espace.
- CPFA0AB
- Erreur d'opération pour l'objet. L'objet est &1.
- CPFA0AD
- Fonction non acceptée par le système de fichiers.
- CPFA0A2
- Données incorrectes transmises à l'opération.
- CPFA0A3
- La résolution du nom de chemin provoque une boucle.
- CPFA0A4
- Trop de fichiers ouverts pour le traitement.
- CPFA0A7
- Le nom de chemin est trop long.
- CPFA0A9
- Objet introuvable. L'objet est &1.
- CPFA0B1
- Opération demandée non admise. Incident d'accès.
- CPFA0C1
- CCSID &1 incorrect.
- CPFA0DD
- Fonction interrompue.
- CPFA0D4
- Une erreur s'est produite dans le système de fichiers. Code erreur &1.
- CPFA08B
- Le nom de chemin ne peut pas commencer par *.
- CPFA08C
- Masque non admis dans répertoire du nom de chemin.
- CPFA085
- Répertoire initial de l'utilisateur &1 introuvable.
- CPFA086
- Apostrophe manquante dans nom de chemin.
- CPFA087
- Le nom de chemin contient un caractère indéfini.
- CPFA088
- Masque de nom de chemin incorrect.
- CPFA089
- Masque non admis dans nom de chemin.
- CPFA09C
- Aucun droit sur l'objet. L'objet est &1.
- CPFA09D
- Erreur dans le programme &1.
- CPFA09E
- L'objet est en cours d'utilisation. L'objet est &1.
- CPFA091
- Masque non admis pour le nom de l'utilisateur.
- CPFA092
- Le nom de chemin n'a pas été converti.
- CPFA094
- Le nom de chemin n'a pas été indiqué.
- CPFBC50
- Nom(s) d'accès introuvable(s).
- CPF22F0
- Erreurs imprévues lors du traitement.
- CPF223A
- &1 objets modifiés, &2 objets non modifiés.
- CPF2283
- La liste d'autorisation &1 n'existe pas.
- CPF3BF6
- La valeur de type de chemin d'accès n'est pas valide. Path Type value is not valid.
- CPF4ACF
- Echec de l'opération pour l'objet &1 dans &2 type *&3 en raison d'erreurs de réplication.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.