38,760
edits
No edit summary |
(Updating to match new version of source page) |
||
Line 3: | Line 3: | ||
''Page enfant de [[Storage and file management]]'' | ''Page enfant de [[Storage and file management]]'' | ||
<div class="mw-translate-fuzzy"> | |||
Il arrive fréquemment de devoir partager ses données avec un collègue ou avec un autre groupe de recherche. Les grappes de Calcul Canada offrent tous les moyens pour ce faire. | Il arrive fréquemment de devoir partager ses données avec un collègue ou avec un autre groupe de recherche. Les grappes de Calcul Canada offrent tous les moyens pour ce faire. | ||
Line 9: | Line 10: | ||
Pour partager des données avec une personne qui ne détient pas de compte sur la grappe que vous utiliserez, vous pouvez créer un [[Globus/fr#Partage_de_fichiers_avec_Globus|point de chute commun]] dans Globus. | Pour partager des données avec une personne qui ne détient pas de compte sur la grappe que vous utiliserez, vous pouvez créer un [[Globus/fr#Partage_de_fichiers_avec_Globus|point de chute commun]] dans Globus. | ||
Pour partager des données avec un autre utilisateur qui détient un compte sur la même grappe, mais qui ne fait pas partie du même groupe, le moyen le plus simple est de vous servir des permissions du système de fichiers en question, ce qui est ici le sujet principal. | Pour partager des données avec un autre utilisateur qui détient un compte sur la même grappe, mais qui ne fait pas partie du même groupe, le moyen le plus simple est de vous servir des permissions du système de fichiers en question, ce qui est ici le sujet principal. | ||
</div> | |||
La personne avec laquelle vous voulez partager vos données doit pouvoir accéder à tous les répertoires à partir des espaces <code>/scratch</code> ou <code>/project</code>, jusqu'au répertoire qui contient le fichier. Pour avoir accès, par exemple, à un document placé dans un coffre-fort situé dans une pièce de votre appartement, il ne suffit pas de me fournir la combinaison pour ouvrir le coffre-fort; je dois aussi pouvoir entrer dans l'édifice, puis dans votre appartement, puis dans la pièce où se trouve le coffre-fort. Dans le contexte d'un système de fichiers, ceci signifie accorder à l'autre utilisateur une permission d'exécution à tous les répertoires entre le répertoire racine (par exemple <code>/scratch</code> ou <code>/project</code>) et le répertoire qui contient le fichier en question. | La personne avec laquelle vous voulez partager vos données doit pouvoir accéder à tous les répertoires à partir des espaces <code>/scratch</code> ou <code>/project</code>, jusqu'au répertoire qui contient le fichier. Pour avoir accès, par exemple, à un document placé dans un coffre-fort situé dans une pièce de votre appartement, il ne suffit pas de me fournir la combinaison pour ouvrir le coffre-fort; je dois aussi pouvoir entrer dans l'édifice, puis dans votre appartement, puis dans la pièce où se trouve le coffre-fort. Dans le contexte d'un système de fichiers, ceci signifie accorder à l'autre utilisateur une permission d'exécution à tous les répertoires entre le répertoire racine (par exemple <code>/scratch</code> ou <code>/project</code>) et le répertoire qui contient le fichier en question. | ||
Line 15: | Line 17: | ||
==Permissions des systèmes de fichiers== | ==Permissions des systèmes de fichiers== | ||
<div class="mw-translate-fuzzy"> | |||
À l'instar de la plupart des systèmes de fichiers modernes, ceux des grappes de Calcul Canada possèdent des fonctionnalités permettant de lire, écrire et exécuter des fichiers et des répertoires. Quand un utilisateur essaie avec la commande <tt>cd</tt> de lire, modifier ou supprimer un fichier ou encore obtenir l'accès à un répertoire, le noyau Linux (le ''kernel'') vérifie d'abord les permissions. Si l'action est impossible, un message annonce que la permission n’est pas accordée. | À l'instar de la plupart des systèmes de fichiers modernes, ceux des grappes de Calcul Canada possèdent des fonctionnalités permettant de lire, écrire et exécuter des fichiers et des répertoires. Quand un utilisateur essaie avec la commande <tt>cd</tt> de lire, modifier ou supprimer un fichier ou encore obtenir l'accès à un répertoire, le noyau Linux (le ''kernel'') vérifie d'abord les permissions. Si l'action est impossible, un message annonce que la permission n’est pas accordée. | ||
Il existe trois catégories d'utilisateurs pour les objets fichiers ou répertoires d'un système de fichiers : | Il existe trois catégories d'utilisateurs pour les objets fichiers ou répertoires d'un système de fichiers : | ||
Line 21: | Line 24: | ||
* tous les autres | * tous les autres | ||
À chacune de ces catégories d'utilisateurs peuvent être associées les permissions de lecture, d'écriture et d'exécution de l'objet. Avec trois catégories d'utilisateurs et trois types de permissions, il y a donc une possibilité de neuf permissions pouvant être associées à chaque objet. | À chacune de ces catégories d'utilisateurs peuvent être associées les permissions de lecture, d'écriture et d'exécution de l'objet. Avec trois catégories d'utilisateurs et trois types de permissions, il y a donc une possibilité de neuf permissions pouvant être associées à chaque objet. | ||
</div> | |||
Pour connaitre les permissions associées à un objet, utilisez | Pour connaitre les permissions associées à un objet, utilisez | ||
Line 42: | Line 46: | ||
accorde à tous les utilisateurs de votre groupe les permissions d'écriture, de lecture et d'exécution. Bien entendu, vous pouvez seulement modifier les permissions associées à un fichier ou à un répertoire dont vous êtes propriétaire. Pour modifier le groupe, utilisez la commande <tt>chgrp</tt>. | accorde à tous les utilisateurs de votre groupe les permissions d'écriture, de lecture et d'exécution. Bien entendu, vous pouvez seulement modifier les permissions associées à un fichier ou à un répertoire dont vous êtes propriétaire. Pour modifier le groupe, utilisez la commande <tt>chgrp</tt>. | ||
<div class="mw-translate-fuzzy"> | |||
===Protection ''sticky bit''=== | ===Protection ''sticky bit''=== | ||
Comme c'est souvent le cas lorsqu'un professeur travaille avec plusieurs étudiants et collaborateurs, l'[[Project_layout |espace projet]] se trouve dans un répertoire partagé par plusieurs utilisateurs qui ont des permissions de lecture, d'écriture ou d'exécution : il faut donc s'assurer que les fichiers et les répertoires ne puissent être supprimés par un autre utilisateur que leur propriétaire. Le système de fichiers sous Unix comporte la fonctionnalité [https://en.wikipedia.org/wiki/Sticky_bit sticky bit] qui empêche qu'un fichier soit supprimé ou renommé par un autre utilisateur que le propriétaire du fichier ou du répertoire. Sans ce ''sticky bit'', les utilisateurs qui ont des permissions de lecture et d'écriture pour un répertoire peuvent renommer ou supprimer tous les fichiers du répertoire, même s'ils n'en sont pas les propriétaires. | Comme c'est souvent le cas lorsqu'un professeur travaille avec plusieurs étudiants et collaborateurs, l'[[Project_layout |espace projet]] se trouve dans un répertoire partagé par plusieurs utilisateurs qui ont des permissions de lecture, d'écriture ou d'exécution : il faut donc s'assurer que les fichiers et les répertoires ne puissent être supprimés par un autre utilisateur que leur propriétaire. Le système de fichiers sous Unix comporte la fonctionnalité [https://en.wikipedia.org/wiki/Sticky_bit sticky bit] qui empêche qu'un fichier soit supprimé ou renommé par un autre utilisateur que le propriétaire du fichier ou du répertoire. Sans ce ''sticky bit'', les utilisateurs qui ont des permissions de lecture et d'écriture pour un répertoire peuvent renommer ou supprimer tous les fichiers du répertoire, même s'ils n'en sont pas les propriétaires. | ||
Line 47: | Line 52: | ||
{{Command|chmod +t <directory name>}} | {{Command|chmod +t <directory name>}} | ||
ou en notation octale avec le mode 1000, ainsi | ou en notation octale avec le mode 1000, ainsi | ||
{{Command|chmod 1774 <directory name>}} | {{Command|chmod 1774 <directory name>}} | ||
</div> | |||
Dans <code>ls -l</code>, le ''sticky bit'' est représenté par la lettre t (ou T), à la fin du champ des permissions, comme suit | Dans <code>ls -l</code>, le ''sticky bit'' est représenté par la lettre t (ou T), à la fin du champ des permissions, comme suit | ||
Line 147: | Line 153: | ||
* L'accès aux fichiers est aussi déterminé par les listes de contrôle d'accès (ACL pour ''Access Control List''). | * L'accès aux fichiers est aussi déterminé par les listes de contrôle d'accès (ACL pour ''Access Control List''). | ||
<div class="mw-translate-fuzzy"> | |||
=== Modification de l'attribut par défaut <code>umask</code> sur Cedar, Béluga et Niagara === | === Modification de l'attribut par défaut <code>umask</code> sur Cedar, Béluga et Niagara === | ||
À l'été de 2019, nous avons remarqué que l'attribut <code>umask</code> n'était pas le même sur tous les serveurs. En date du 16 octobre 2019, <code>umask</code> a été modifié et est maintenant le même que sur Graham. | À l'été de 2019, nous avons remarqué que l'attribut <code>umask</code> n'était pas le même sur tous les serveurs. En date du 16 octobre 2019, <code>umask</code> a été modifié et est maintenant le même que sur Graham. | ||
Line 160: | Line 167: | ||
|- | |- | ||
|} | |} | ||
Ceci signifie que les permissions sont devenues plus restrictives pour les fichiers nouvellement créés. Si ce n'est pas convenable, vous pouvez modifier votre <code>umask</code> dans votre <code>.bashrc</code>. En général, nous recommandons toutefois de conserver les permissions définies par défaut. | Ceci signifie que les permissions sont devenues plus restrictives pour les fichiers nouvellement créés. Si ce n'est pas convenable, vous pouvez modifier votre <code>umask</code> dans votre <code>.bashrc</code>. En général, nous recommandons toutefois de conserver les permissions définies par défaut. | ||
</div> | |||
Vos fichiers n'étaient pas plus à risque avant cette modification. Depuis le début, les permissions d'accès sont restrictives pour vos répertoires /home, /project et /scratch; ils ne peuvent être accédés par les autres utilisateurs à moins que vous leur ayez accordé le droit d'exécuter. | Vos fichiers n'étaient pas plus à risque avant cette modification. Depuis le début, les permissions d'accès sont restrictives pour vos répertoires /home, /project et /scratch; ils ne peuvent être accédés par les autres utilisateurs à moins que vous leur ayez accordé le droit d'exécuter. | ||
Line 174: | Line 182: | ||
=== Partage de données avec un autre utilisateur === | === Partage de données avec un autre utilisateur === | ||
<div class="mw-translate-fuzzy"> | |||
Les systèmes d'exploitation de type Unix fonctionnent avec ces permissions depuis plusieurs années, mais les possibilités sont limitées. Comme il n'y a que trois catégories d'utilisateurs (propriétaire, groupe, autres), comment permettre la lecture à un utilisateur en particulier qui n'appartient pas à un groupe? Faut-il alors permettre à tous de lire le fichier? Heureusement, la réponse est non, puisque dans de tels cas, les systèmes nationaux de Calcul Canada offrent des listes de règles d'accès (ACL pour ''access control lists'') par utilisateur. Les deux commandes pour ce faire sont : | Les systèmes d'exploitation de type Unix fonctionnent avec ces permissions depuis plusieurs années, mais les possibilités sont limitées. Comme il n'y a que trois catégories d'utilisateurs (propriétaire, groupe, autres), comment permettre la lecture à un utilisateur en particulier qui n'appartient pas à un groupe? Faut-il alors permettre à tous de lire le fichier? Heureusement, la réponse est non, puisque dans de tels cas, les systèmes nationaux de Calcul Canada offrent des listes de règles d'accès (ACL pour ''access control lists'') par utilisateur. Les deux commandes pour ce faire sont : | ||
* <tt>getfacl</tt> pour connaitre les permissions définies dans la liste, | * <tt>getfacl</tt> pour connaitre les permissions définies dans la liste, | ||
* <tt>setfacl</tt> pour modifier ces permissions. | * <tt>setfacl</tt> pour modifier ces permissions. | ||
</div> | |||
====Partage d'un seul fichier==== | ====Partage d'un seul fichier==== | ||
Line 216: | Line 226: | ||
La procédure suivante décrit la création du groupe <code>wg-datasharing</code>. | La procédure suivante décrit la création du groupe <code>wg-datasharing</code>. | ||
<div class="mw-translate-fuzzy"> | |||
<br />1. Écrivez à notre [[Technical support/fr|soutien technique]] pour demander la création du groupe; indiquez le nom du groupe et dites que vous en êtes le propriétaire. | <br />1. Écrivez à notre [[Technical support/fr|soutien technique]] pour demander la création du groupe; indiquez le nom du groupe et dites que vous en êtes le propriétaire. | ||
<br />2. Quand vous recevez la confirmation de la création du groupe, allez à [https://ccdb.computecanada.ca/services/ ccdb.computecanada.ca/services/]. | <br />2. Quand vous recevez la confirmation de la création du groupe, allez à [https://ccdb.computecanada.ca/services/ ccdb.computecanada.ca/services/]. | ||
<br /> | <br /> | ||
[[File:Cc services screen.png|1036px|Services screen displaying groups you can manage]] | [[File:Cc services screen.png|1036px|Services screen displaying groups you can manage]] | ||
</div> | |||
<br/>3. Cliquez sur le nom du groupe en question pour faire afficher les détails de ce groupe. | <br/>3. Cliquez sur le nom du groupe en question pour faire afficher les détails de ce groupe. |