Ceci n'est pas une pipe clé, mais une porte
Salut
Phabi.
Dès que des
utilisateurs multiples peuvent ouvrir une session dans
OS X, sans que les rapports sociaux ambiants relèvent du mythique
Âge d'Or des
Origines : des ressources mises en commun pour être accessibles à chacun en fonction de ses besoins (règle de la transparence distributive : «
De chacun selon son travail, à chacun selon ses besoins») ; mais d'une
appropriation distinctive des ressources par des individus séparés (règle de l'opacité distributive : «
À chacun sa propriété privée») - alors se posent aussi par contrecoup en informatique des questions de
droits : garantir à chaque utilisateur individuel une
propriété exclusive sur des
données privées hors partage communautaire a priori, ce par un jeu de
permissions /
restrictions d'accès à ces données.
Dans
OS X, qui est un espace opératoire non-partitionné (un volume public), la séparation entre "
propriétaires" de données d'usage privées s'effectue par l'intermédaire de "
comptes personnels", qui sont contruits à l'image de maisons individuelles : si les voisins (ceux qui ne sont pas le propriétaire) peuvent jeter un coup d'œil à la façade de la maison (dans le dossier des
Utilisateurs, tu remarqueras que chacun peut entrer dans le dossier de compte des autres), voire s'engager sur l'allée qui mène à la porte (le dossier "
Public" ouvert à tous) ; par contre, pénétrer dans les "
Aîtres" de la maison d'autrui est interdit (les différents dossiers frappés d'un sens interdit comme autant de pièces de la maison intransgressables).
Informatiquement parlant, ce dispositif est engendré par un jeu de droits de base dits "
POSIX" qui, pour chaque objet dans
OS X, affecte à 3 sortes d'
accédants possibles (le propriétaire ou utilisateur privé :
user / le groupe privilégié :
primary group / le groupe anonyme :
secondary group) 3
permissions variables (l'autorisation de lire :
read =
r / d'écrire :
write =
w / d'exécuter <l'entrée à un espace> :
execute =
x). Pour ce qui est des dossiers frappés d'un sens interdit des comptes d'utilisateur (les pièces privées de la maison), cela correspond, en supposant que le nom de propriétaire est
toto, à :
toto (
user) =
rwx (permissions de lire / écrire / exécuter l'entrée) vs
everyone else (les autres, à quelque groupe qu'ils appartiennent : privilégié comme un
admin ou anonyme comme un
visiteur) =
--- (aucune permission, ni de lire, ni d'écrire, ni d'exécuter l'entrée).
--------------------
La question qui se pose à présent est : ce dispositif est-il transposable tel quel à un espace distinct de celui d'
OS X, à savoir celui du volume d'un disque de stockage externe, attachable au Mac ?
Pas automatiquement, pour la raison suivante : par
défaut, sur le volume d'
OS X le "droit de propriété privée" (
Ownership) se trouve activé à l'
installation, alors que par défaut ce même "droit de propriété privée" (
Ownership) se trouve désactivé sur des volumes de stockage externe de type DDE au
formatage. C'est ce dont tu t'es rendu compte en accédant depuis 2 sessions différentes au même volume de stockage externe sur lequel le droit de propriété était
désactivé ("
disabled") par défaut. Cela signifie concrètement que, quels que soient les propriétaires
en titre de tel ou tel dossier contenu dans cet espace (ex. le dossier
TOTO dont le propriétaire en titre est
toto car il l'a créé et le dossier
BIBI dont le propiétaire en titre est
bibi car il l'a créé) - dès lors que le droit de propriété privé est décrété aboli sur l'espace général du volume (
Ownership: disabled), ces titres de propriété sont suspendus, et est considéré comme "appropriateur" de tous objets contenus dans cet espace... celui qui y entre à partir de sa session personnelle. C'est le retour à l'
Âge d'Or du "
communisme primitif" : tout ce qui existe dans l'espace sur lequel l'
Ownership (droit de propriété privée) a été aboli ("
disabled"), est approprié a priori à celui qui y entre comme s'il en était le propriétaire.
Pour retrouver sur un volume de stockage externe un droit de propriété spécifique sur des dossiers privés analogue à celui des maisons individuelles que sont les dossiers de compte, il faut a priori rétablir le "droit de propriété généralisé" sur l'espace total du volume externe, comme c'est le cas sur le volume d'
OS X : rétablir l'
Ownership (Droit de propriété privée). Alors, l'accès aux dossiers particuliers sera régulé par les permissions d'accès détenues par les 3 accédants
nominatifs (
user /
primary group /
secondary group) à ce dossier. Exemple : le dossier
TOTO a pour propriétaire en titre
toto qui est reconnu comme tel désormais, avec les permissions
rwx ; supposons maintenant que le
primary group des accédants soit
admin avec aucune des permissions
rwx attribuée (
---) et idem pour le
secondary group des
everyone (
---) --> alors le dossier
TOTO est frappé d'un sens interdit pour quiconque accède à l'espace du volume de stockage externe sur lequel le "Droit de propriété privé" (
Ownership) a été rétabli à part son propriétaire nominatif
toto.
Il est possible de moduler de manière moins radicale les permissions d'accès à un tel dossier
TOTO pour ceux qui ne sont pas le propriétaire nominal
toto. Ainsi, si le
primary group des
admin se trouve associé à une permission de
lecture et d'
exécution - de l'entrée - (mais pas le
secondary group des
everone), alors pour un simple visiteur le dossier
TOTO reste toujours frappé d'un sens interdit, mais pour un accédant membre du groupe
admin qui n'est pas le propriétaire
toto le dossier est pénétrable (permission
x d'exécuter l'entrée) et
browsable dans ses éléments (les objets sont listables, mais non supprimables et aucun ne peut être ajouté, car la permission d'
écriture à l'espace du dossier n'est pas accordée). Il est possible de définir d'une manière plus affinée encore des
permissions ou des
restrictions d'accès à un dossier, comme de promouvoir un autre utilisateur individuel au statut de
co-propriétaire ou de moduler la permission de
lecture accordée aux membres du groupe primaire par des restrictions granulaires sur les
attributs_étendus (par exemple) - cette panoplie subtile de "
discriminations positives vs négatives" relevant des
ACL (
Access Control Lists) : listes de contrôle d'accès associables à ces objets et contenant des
ACE (
Access Control Entries) : entrées de contrôle d'accès définissant des permissions/restrictions modulaires pour chaque protagoniste désigné.
☞ si tu veux mon avis "brut de décoffrage" sur le sujet, ce jeu de
discriminations en + et en - dans les permissions d'accès à des objets (sur un volume de stockage ici) demande sacrément de doigté pour les établir à bon escient et implique toujours un superviseur qui utilise les droits
root (Super-Adminsitrateur Système) pour les instaurer et les maintenir (et par là manipule le statut des autres à leur insu). Une espèce d'
art byzantin des "degrés de propriété privée" qui me dégoûte pas mal (d'un point de vue
éthique), quand bien même sa contemplation en
idée est-elle un exercice fascinant (dans la mesure où elle est le reflet
informatique des rapports sociaux
réels) .
--------------------
Une manière d'échapper à ces raffinements aussi douteux que complexes à gérer serait d'opter pour
une politique de l'Apartheid ☜ la préconisation de
Jean consistant à
partitionner a priori le disque externe en autant de
volumes qu'il y aurait d'utilisateurs "avec statut" (
admin par exemple), avec établissement sur chacun des volumes de l'
Ownership et affectation de sa propriété nominative à un
user distinctif + des
permissions telles que :
user =
rwx et
everyone else (membres du
primary et/ou
secondary group) =
---, càd. "
permission denied". Alors, chacun pourrait seul accéder son volume dédié, qui serait d'accès interdit à tous les autres. Et, si un stock commun de ressources était envisagé en mode "communiste" (y compris pour d'éventuels invités ou non), alors il suffirait de désactiver l'
Ownership sur ce seul volume, ce qui permettrait pour chaque accédant d'être a priori validé comme l'appropriateur en exercice de tous les contenus lors de son entrée.
--------------------
[NB. Ne pas surestimer "absolument" le pouvoir de contrainte de ces discriminations d'accès. Tout utilisateur qui a des privilèges admin peut, en les faisant jouer pour passer en mode root, manipuler (graphiquement : fenêtre d'info du Finder ou textuellement : «Terminal») les droits établis et se ménager tous les passe-droits ("backdoors") envisageables en qualité de Super-Admnistrateur Système par intérim.]