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.

HIHIHIHAÂR!                                                                   

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

 

Codes de protection

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

M'enfin!
À 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