Aller au contenu

Commande CL IBM i (AS/400)

CRTDIR

Créer un répertoire

En bref

La commande Créer un répertoire (CRTDIR) permet d'ajouter un répertoire au système.

CRTDIR se lit CRT (Créer) + DIR. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CRTDIR DIR(…)

Paramètres

Astuce : dans une session 5250, tapez CRTDIR 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 : Non

La commande Créer un répertoire (CRTDIR) permet d'ajouter un répertoire au système.

Un répertoire est un objet qui contient les noms d'autres objets. Les bibliothèques et les dossiers sont des types de répertoires. Lorsqu'un répertoire est créé, un lien est ajouté au préfixe de répertoire. Aucun objet ne peut être ajouté à un répertoire tant que ce dernier n'est pas créé.

Cette commande peut également être lancée en utilisant les noms de commandes suivants :

  • MD
  • MKDIR

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 :

  • La restriction suivante s'applique lorsque le répertoire à créer est une bibliothèque de QSYS.LIB, un système de fichiers QSYS.LIB d'ASP indépendant ou un répertoire au sein du système de fichiers racine (/), QOpenSys ou défini par l'utilisateur :
    • S'il souhaite indiquer une valeur autre que *SYSVAL pour le paramètre Valeur d'audit des objets (CRTOBJAUD), l'utilisateur doit disposer du droit spécial d'audit (*AUDIT).
  • La restriction suivante s'applique lorsque le répertoire à créer est un dossier inclus dans un dossier de QDLS :
    • Le droit de modification (*CHANGE) est requis sur le dossier existant.
  • L'utilisateur doit disposer du droit d'exécution (*X) sur chacun des répertoires du chemin.
  • Pour créer un répertoire dans le système de fichiers racine (/), QOpenSys ou défini par l'utilisateur, ce dernier doit disposer du droit d'écriture et d'exécution (*WX) sur le répertoire contenant le nouveau répertoire.
  • Lors de la création d'un répertoire, l'ID utilisateur (UID) du propriétaire est celui de l'utilisateur qui crée le répertoire.

    Si le répertoire doit être créé dans les systèmes de fichiers racine (/), QOpenSys et définis par l'utilisateur, la restriction ci-dessous s'applique. Si l'élément binaire S_ISGID d'un répertoire parent est hors fonction, l'ID groupe (GID) est défini sur le GID de l'unité d'exécution créant le répertoire. Si l'élément binaire S_ISGID d'un répertoire parent est en fonction, l'ID groupe (GID) du nouveau répertoire est défini sur le GID du répertoire parent.

    Si le répertoire à créer dans le système de fichiers QSYS.LIB ou QSYS.LIB d'ASP indépendant, le GID est indiqué par le profil utilisateur principal. Pour tous les autres systèmes de fichiers, le GID est indiqué par le répertoire parent.

  • S'il souhaite indiquer une valeur autre que *PARENT pour le paramètre Option de scannage des objets (CRTOBJSCAN), l'utilisateur doit disposer des droits spéciaux *ALLOBJ et *SECADM.

Paramètres

Mot-clé Description Valeurs possibles Remarques
DIR Répertoire Chemin d'accès Obligatoire, positionnel 1
DTAAUT Droits publics sur données Nom, *INDIR, *RWX, *RW, *RX, *WX, *R, *W, *X, *EXCLUDE, *NONE Facultatif
OBJAUT Droits publics sur l'objet Valeurs uniques: *INDIR, *NONE, *ALL
Autres valeurs (jusqu'à 4 répétitions): *OBJEXIST, *OBJMGT, *OBJALTER, *OBJREF
Facultatif
CRTOBJAUD Valeur d'audit des objets *SYSVAL, *NONE, *USRPRF, *CHANGE, *ALL Facultatif
CRTOBJSCAN Option de scannage des objets *PARENT, *YES, *NO, *CHGONLY Facultatif
RSTDRNMUNL Renommer et délier restreints *NO, *YES Facultatif

Répertoire (DIR)

Indique le nom de chemin du répertoire à créer.

Remarque :Le nom ne doit pas commencer par la lettre Q. Le système considère que les bibliothèques ou les répertoires commençant par cette lettre sont des bibliothèques ou des répertoires système.

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/.

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/.

Droits publics sur données (DTAAUT)

Indique les droits publics accordés à l'utilisateur sur les données du répertoire, ou bien indique que tous les droits du nouveau répertoire sont hérités du répertoire dans lequel il doit être créé.

*INDIR
Les droits sur le répertoire à créer varient en fonction du répertoire dans lequel il doit être créé. Le répertoire qui précède immédiatement le nouveau répertoire détermine ces droits. Un répertoire créé dans le répertoire principal (/), dans QOpenSys ou dans un système de fichiers défini par l'utilisateur bénéficie des mêmes droits publics, privés et de groupe principal, de la même liste d'autorisation et du même groupe principal que le répertoire dans lequel il doit être créé. Un répertoire créé dans QDLS pour un dossier prend la valeur par défaut *EXCLUDE quand il s'agit d'un dossier de premier niveau. Si le répertoire est créé au deuxième niveau ou à un niveau supérieur, les droits du niveau précédent sont utilisés. QOpenSys et le système de fichiers racine utilisent la valeur des droits sur les données du répertoire principal. Si la valeur *INDIR est indiquée pour le paramètre Droits publics sur l'objet (OBJAUT) ou DTAAUT, elle doit l'être pour les deux en même temps.
*RWX
L'utilisateur peut modifier l'objet et exécuter des fonctions de base sur ce dernier, à l'exception de celles limitées au propriétaire ou soumises à un droit d'existence (*OBJEXIST), de gestion (*OBJMGT), de modification (*OBJALTER) et de référence sur l'objet (*OBJREF). Le droit de lecture, écriture et exécution (*RWX) permet de disposer du droit d'opération sur l'objet (*OBJOPR) ainsi que de tous les droits sur les données.
*RW
L'utilisateur peut visualiser et modifier le contenu d'un objet. Le droit de lecture et écriture (*RW) permet de disposer du droit *OBJOPR ainsi que des droits de lecture (*READ), d'ajout (*ADD), de mise à jour (*UPD) et de suppression (*DLT) sur les données.
*RX
L'utilisateur peut exécuter des 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. Le droit de lecture et d'exécution (*RX) fournit le droit *OBJOPR ainsi que les droits *READ et *EXECUTE sur les données.
*WX
L'utilisateur peut modifier le contenu d'un objet, exécuter un programme ou lancer une recherche dans une bibliothèque ou un répertoire. Le droit d'écriture et d'exécution (*WX) fournit le droit *OBJOPR ainsi que les droits *ADD, *UPD, *DLT et *EXECUTE sur les données.
*R
L'utilisateur peut visualiser le contenu d'un objet. Le droit de lecture (*R) fournit le droit *OBJOPR ainsi que le droit *READ sur les données.
*W
L'utilisateur peut modifier le contenu d'un objet. Le droit d'écriture (*W) fournit le droit *OBJOPR ainsi que les droits *ADD, *UPD et *DLT sur les données.
*X
L'utilisateur peut exécuter un programme ou lancer une recherche dans une bibliothèque ou un répertoire. Le droit d'exécution (*X) fournit le droit *OBJOPR ainsi que le droit *EXECUTE sur les données.
*EXCLUDE
L'utilisateur ne peut pas accéder à l'objet. Si cette valeur spéciale est utilisée, OBJAUT doit avoir la valeur *NONE.
*NONE
L'utilisateur n'a aucun droit sur les données pour les objets. Cette valeur ne peut pas être utilisée lorsque la valeur *NONE est indiquée au paramètre OBJAUT.
nom
Indiquez le nom de la liste d'autorisation utilisée. Le format de la liste d'autorisation reste le format à dix caractères en cours. Si cette valeur spéciale est utilisée, OBJAUT doit avoir la valeur *NONE.

Droits publics sur l'objet (OBJAUT)

Indique les droits publics sur l'objet accordés aux utilisateurs pour le répertoire, ou indique que tous les droits sont hérités du répertoire dans lequel le nouveau répertoire doit être créé.

*INDIR
Les droits sur le nouveau répertoire dépendent des droits associés au répertoire dans lequel il doit être créé. Un répertoire créé dans le répertoire principal (/), dans QOpenSys ou dans un système de fichiers défini par l'utilisateur bénéficie des mêmes droits publics, privés et de groupe principal, de la même liste d'autorisation et du même groupe principal que le répertoire dans lequel il doit être créé. Si la valeur *INDIR est indiquée pour le paramètre OBJAUT ou Droits publics sur données (DTAAUT), elle doit l'être pour les deux en même temps.
*NONE
Aucun autre droit sur l'objet (*OBJEXIST, *OBJMGT, *OBJALTER ou *OBJREF) n'est accordé aux utilisateurs. Si la valeur *EXCLUDE ou une liste d'autorisation est spécifiée au paramètre DTAAUT, *NONE doit également être indiqué. Cette valeur ne peut pas être utilisée si le paramètre DTAAUT a pour valeur *NONE.
*ALL
Tous les autres droits sur l'objet (*OBJEXIST, *OBJMGT, *OBJALTER ou *OBJREF) sont accordés aux utilisateurs.

L'utilisateur peut indiquer jusqu'à quatre valeurs parmi les suivantes :

*OBJEXIST
Un droit d'existence sur l'objet (*OBJEXIST) est accordé à l'utilisateur. Ce dernier peut ainsi supprimer l'objet, libérer de l'espace de l'objet, effectuer des opérations de sauvegarde et de restauration et transférer la propriété de l'objet.
*OBJMGT
Un droit de gestion d'objet (*OBJMGT) est accordé à l'utilisateur. Ce dernier peut ainsi définir une sécurité pour l'objet, déplacer ou rebaptiser ce dernier et ajouter des membres aux fichiers base de données.
*OBJALTER
Un droit de modification d'objet (*OBJALTER) est accordé à l'utilisateur. Ce dernier peut modifier les attributs des objets. Dans un fichier base de données, il peut ajouter et enlever des déclencheurs ainsi que des contraintes référentielles ou uniques et modifier les attributs du fichier base de données. Si l'utilisateur dispose de ce droit sur un module SQL, il peut en modifier les attributs. Pour l'instant, ce droit n'est utilisé que pour les fichiers base de données et les modules SQL.
*OBJREF
Un droit de référence d'objet (*OBJREF) est accordé à l'utilisateur. Utilisable uniquement pour les fichiers base de données, ce droit permet à l'utilisateur de référencer un objet à partir d'un autre objet de telle sorte que les opérations effectuées sur le premier objet soient limitées par le second objet. Dans un fichier physique, l'utilisateur peut ajouter une contrainte référentielle dans laquelle le fichier physique est le parent.

Valeur d'audit des objets (CRTOBJAUD)

Indique la valeur d'audit des objets créés dans ce répertoire.

Il se peut que les valeurs autres que *SYSVAL pour ce paramètre ne soient pas prises en charge par certains systèmes de fichiers.

*SYSVAL
La valeur d'audit des objets créés dans le répertoire est déterminée par la valeur système QCRTOBJAUD.
*NONE
Le fait d'utiliser cet objet ou de le modifier ne provoque pas l'envoi d'un poste d'audit au journal de sécurité.
*USRPRF
Le profil de l'utilisateur qui accède à l'objet permet de déterminer si un enregistrement d'audit doit être envoyé pour cet accès. Le paramètre OBJAUD de la commande CHGUSRAUD (Modifier audit d'utilisateur) est utilisé pour modifier l'audit d'un utilisateur spécifique.
*CHANGE
Tous les accès en modification effectués par tous les utilisateurs sur cet objet sont consignés.
*ALL
Tous les accès en modification ou en lecture effectués par tous les utilisateurs sur cet objet sont consignés.

Option de scannage des objets (CRTOBJSCAN)

Indique si les objets créés dans un répertoire vont être scannés lorsque des programmes d'exit sont enregistrés sur un des points d'exit liés au scannage du système de fichiers intégré.

Les points d'exit liés au scannage du système de fichiers intégré sont les suivants :

  • QIBM_QP0L_SCAN_OPEN - Programme d'exit d'analyse à l'ouverture du système de fichiers intégré QIBM_QP0L_SCAN_OPEN - Integrated File System Scan on Open Exit Program
  • QIBM_QP0L_SCAN_CLOSE - Programme d'exit d'analyse à la fermeture du système de fichiers intégré QIBM_QP0L_SCAN_CLOSE - Integrated File System Scan on Close Exit Program

Pour plus d'informations sur ces points d'exit, reportez-vous au manuel Ensemble de rubriques API de la catégorie Programmation de l'IBM i Information Center (http://www.ibm.com/systems/i/infocenter/).

Cet attribut s'applique uniquement aux répertoires des systèmes de fichiers racine (/), QOpenSys et définis par l'utilisateur. Pour tous les autres systèmes de fichiers, *PARENT doit être indiqué et l'attribut sera ignoré. Même si cet attribut peut être défini pour les répertoires *TYPE1 et *TYPE2, seuls les objets figurant dans les répertoires *TYPE2 sont réellement scannés, quelle que soit la valeur définie pour cet attribut.

*PARENT
La valeur de l'attribut de création de scannage d'objet pour ce répertoire est copiée de la valeur d'attribut de création de scannage d'objet du répertoire parent.
*YES
Une fois qu'un objet est créé dans le répertoire, l'objet va être scanné conformément aux règles décrites dans les programmes d'exit liés au scannage, si l'objet a été modifié ou si le logiciel de scannage a été mis à jour depuis le dernier scannage de l'objet.
*NO
Après la création d'un objet dans le répertoire, l'objet n'est pas scanné par les programmes d'exit liés au scannage.

Remarque :Si la valeur *NOPOSTRST du paramètre QSCANFSCTL n'est pas indiquée lors de la restauration d'un objet comportant cet attribut, l'objet est scanné au moins une fois après la restauration.

*CHGONLY
Une fois qu'un objet est créé dans le répertoire, cet objet est scanné conformément aux règles décrites dans les programmes d'exit liés au scannage, s'il a été modifié depuis la dernière fois qu'il a été scanné. Il n'est pas scanné si le logiciel de scannage a été mis à jour. Cet attribut ne prend effet que si la valeur système *USEOCOATR a été indiquée pour QSCANFSCTL. Dans le cas contraire, on considère que l'attribut a pour valeur *YES.

Remarque :Si la valeur *NOPOSTRST du paramètre QSCANFSCTL n'est pas indiquée lors de la restauration d'un objet comportant cet attribut, l'objet est scanné au moins une fois après la restauration.

Renommer et délier restreints (RSTDRNMUNL)

Indique si des restrictions spéciales s'appliquent ou non pour les opérations de changement de nom ou de suppression de lien effectuées sur les objets d'un répertoire. Cet attribut est identique au bit mode S_ISVTX et ne peut être défini que pour un répertoire du système de fichiers réseau (NFS), QFileSvr.400, racine (/), QOpenSys ou défini par l'utilisateur. Les systèmes de fichiers NFS et QFileSvr.400 prennent en charge cet attribut en le transmettant au serveur et en le réacheminant vers l'appelant.

*NO
Aucune autre restriction ne s'applique au changement de nom ou à la suppression de lien des objets de ce répertoire.
*YES
Les objets de ce répertoire ne peuvent faire l'objet d'un changement de nom ou d'une suppression de lien que si l'utilisateur qui effectue l'opération remplit une ou plusieurs des conditions suivantes :
  1. L'utilisateur est le propriétaire de l'objet.
  2. L'utilisateur est le propriétaire du répertoire.
  3. L'utilisateur dispose des droits spéciaux sur tous les objets (*ALLOBJ).

Exemples

Exemple 1 : Création d'un répertoire

CRTDIR   DIR('MONREP')

Cette commande crée le répertoire MONREP et l'ajoute dans le répertoire en cours. Les valeurs par défaut sont utilisées pour les autres paramètres.

Messages d'erreur

Messages *ESCAPE

CPFA085
Répertoire initial de l'utilisateur &1 introuvable.
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.
CPFA0A0
L'objet existe déjà. L'objet est &1.
CPFA0A1
Erreur d'entrée ou de sortie.
CPFA0A3
La résolution du nom de chemin provoque une boucle.
CPFA0A6
Le nombre de liens dépasse la limite admise par le système de fichiers.
CPFA0A7
Le nom de chemin est trop long.
CPFA0A9
Objet introuvable. L'objet est &1.
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.
CPFA0B1
Opération demandée non admise. Incident d'accès.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.