La sécurité sur OpenVMS
principes de base
Sur OpenVMS, la sécurité repose sur la protection d'objets. Un objet peut être un disque, un fichier, une queue d'impression, une porte d'entrée/sortie, etc. À chaque compte utilisateur est attribué un UIC (User Identification Code), de même qu'à chaque objet. Ainsi, les objets dont un utilisateur est le propriétaire portent le même UIC que lui-même. Il sera discuté ici uniquement des fichiers (incluant les répertoires), les autres objets étant typiquement créés par l'administrateur du système.
User Identification Code (UIC)
Un UIC est représenté par deux (2) nombres en notation octale dont le premier indique le groupe et le second le membre à l'intérieur de celui-ci. On affecte habituellement un nom à un UIC de manière à en faciliter l'utilisation. Côté syntaxe, un UIC est encadré de paranthèses carrées ([]) et les deux composants sont séparés par une virgule (,).
Ex.: | [103,42] ou [GASTON] |
Un utilisateur ayant le UIC [103,56] serait ainsi dans le même groupe que [GASTON] dans l'exemple. | |
Pour connaître le propriétaire d'un fichier, vous devez
faire la commande suivante: $ DIRECTORY GAFFOPHONE.LIS /OWNER Directory BD$DISQUE:[FRANQUIN] GAFFOPHONE.LIS [GASTON] Total of 1 file |
L'utilisateur peut rendre ses objets disponibles à d'autres utilisateurs en leur attribuant des codes de protection répartis entre quatre (4) ensembles d'utilisateurs. Chaque ensemble d'utilisateurs pourra accéder l'objet en fonction de codes de protection régissant les activités.
Ensembles d'utilisateurs |
Codes de protection |
|||
System | Utilisateurs "system" Les membres des groupes UIC 1 à 7 (c-à-d < 10 octal) |
Read | Accès à un objet en mode lecture seule | |
Write | Écriture, modification de l'objet | |||
Owner | Propriétaire L'utilisateur qui a le même UIC que l'objet |
Execute | Exécution (du programme, de la procédure). Permet aussi, dans le cas d'un répertoire, d'accéder des fichiers placés dans ce dernier. | |
Delete | Suppression d'un fichier | |||
Group | Utilisateurs appartenant au même groupe que le propriétaire | |||
World | Tous les autres utilisateurs sur cet ordinateur |
La syntaxe pour les codes de protection est, pour chaque ensemble d'utilisateurs, la première lettre du nom de l'ensemble suivi de deux-points (:) ou égal (=), puis les premières lettres des codes de protections désirés. On omet un code de protection pour l'exclure. Lorsque l'on spécifie plus d'un ensemble d'utilisateurs on doit inclure la liste entre parenthèses () et les séparer par des virgules (,).
Ex.: | (S:RWED,O:RWED,G:R,W) | |
Dans l'exemple, les utilisateurs System et le propriétaire du fichier ont tous les accès, tandis que les utilisateurs appartenant au même groupe que le propriétaire peuvent uniquement lire le fichier. Les autres utilisateurs n'ont aucun accès. | ||
Pour connaître les codes de protection d'un fichier, vous devez faire la commande suivante: $ DIRECTORY PRUNELLE.COM /PROTECTION Directory BD$DISQUE:[FRANQUIN] PRUNELLE.COM (S:RWED,O:RWED.G:RE,W:E) Total of 1 file |
À la création d'un fichier, les codes de protections par défaut seront: | |
a) | Si une version précédente du fichier existe: les mêmes protections que le fichier existant |
b) | S'il n'existe pas de version précédente: les codes de protection par défaut de l'utilisateur |
On peut voir ou modifier les codes de protections par défaut d'un utilisateur avec les commandes SHOW PROTECTION et SET PROTECTION /DEFAULT
Voyez aussi ces autres commandes:
SET FILE /OWNER=[nouveau_propriétaire]
SET FILE /PROTECTION=(liste)
Lexical F$FILE_ATTRIBUTES
Si le principe de UIC n'est pas suffisant pour une hiérarchie complexe ou pour des privilèges d'accès spéciaux, on peut créer de nouveaux groupes en attribuant un identifier à certains utilisateurs et en employant la protection par ACL