10.13 High Sierra propagation permissions

lewax

Membre confirmé
13 Janvier 2005
231
1
Bonjour.
J'ai mis à jour mon mac mini vers high sierra (pas APFS, il a un fusion drive). J'ai un disque dur externe pegasus en RAID5 connecté en thunderbolt. Ce disque me sert a stocker mes données. Il est aussi en hfs.
J'ai des dossiers avec pleins pleins pleins de sous dossiers et de fichiers... J'ai supprimé un vieil utilisateur et créé un nouveau. Quand je fais cmd-i et que je vais dans partage et permissions, j'ai viré le vieil utilisateur et ajouté le nouveau. Ensuite j'ai cliqué sur "appliquer aux éléments inclus". La barre de progression au sommet de la fenêtre a pris un peu de temps mais pas trop. En vérifiant dans les sous dossiers, certains ont bien reçu les permissions et d'autres pas...

Ca me le fait sur beaucoup de sous dossiers, comme si il y avait un soucis dans la propagation des permissions.

Preneur de toutes suggestions..
Merci!
 
D

Deleted member 1099514

Invité
.
 
Dernière édition par un modérateur:

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
74 434
22 656
Forêt de Fontainebleau
Salut lewax

Il y a 2 façons de gérer le problème des permissions sur le volume d'un périphérique (volume non-démarré) : soit de manière absolue, soit de manière relative.

Manière absolue : c'est la voie dans laquelle tu t'es engagé.

Un volume a le statut logique de répertoire (dossier parent > contenant des éléments enfants en mode "cascade" : sous-dossiers recelant eux-mêmes des dossiers subalternes > jusqu'aux fichiers terminaux qui constituent en quelque sorte le "plancher" ou le "fond" de valise du répertoire du volume).

Des permissions (de lecture et/ou écriture et/ou exécution) > attribuées à une triplette : propriétaire / groupe principal / groupe secondaire = everyone (n'importe qui) --> se trouvent fixées sur chaque objet logique : du répertoire parent à chacun de ses éléments enfants. Elles peuvent être telles que l'utilisateur connecté qui a ouvert sa session (dans le volume démarré du Mac) > se trouve restreint d'accès ou d'action sur tout ou partie des objets du volume externe - ce, parce qu'il n'est pas le propriétaire de ces objets, ou qu'il n'appartient pas au groupe qui a sur eux des permissions.

Il est possible de changer ces permissions inscrites sur les objets du volume externe > et même de le faire récursivement (càd. en propageant cette action de modification à toute la profondeur des éléments enfants du répertoire du volume). Cet acte de modification peut être effectué de 2 façons : par substitution d'accédant aux objets (remplacement du propriétaire initial par l'utilisateur connecté qui a ouvert sa session) ou par adjonction de permissions (ajout d'un privilège supplémentaire pour l'utilisateur connecté : ce qu'on appelle des permissions d'ACL : Access_Control_List = relevant d'une liste spéciale de contrôle d'accès aux objets).

=> j'appelle « absolue » cette manière de régler la question des permissions --> en ce sens qu'elle consiste à « fixer à demeure » sur les objets du volume externe des modifications de permissions - lesquelles vont donc se conserver sur les objets en l'absence même de l'attachement du disque périphérique au Mac pour la session ouverte de l'utilisateur connecté.

L'échec relatif que tu as subi en voulant propager une modification de permissions en ta faveur via une fenêtre d'information du Finder tient à un point précis : le Finder ne possède pas de « privilège suffisant » pour modifier certaines permissions de "degré supérieur" sur les objets d'un volume externe - par exemple des permissions attribuées à root, le System Administrator.

Cette incomplétude de la propagation des nouvelles permissions peut être aisément suppléée dans le «Terminal» (en ligne de commande) > parce qu'il est possible d'appeler des exécutables spécialisés comme chown (change_owner : changer le sujet des permissions) ou chmod (change_mode : changer le mode des permissions) --> en empruntant par l'intermédiaire de sudo (substitute_user_do : opérer avec une identité de substitution) l'identité de root, le System Administrator.

--------------------

Manière relative : c'est la voie que tu as négligée.

Elle consiste à ne rien changer des permissions absolues inscrites sur les objets d'un volume externe > mais à changer seulement le mode de montage de ce volume.

Car un volume est un « espace de répertoire » > dans lequel se montrent exclusivement des fichiers (et des fichiers de fichiers qui sont des dossiers) > qui obéit à un mécanisme logique de « montage ». Ce « montage » requiert 3 facteurs : un "lieu" (l'espace de blocs d'une partition) > une "condition" (un système de fichiers générateur d'un "point de montage" sur le départ de la partition : un dev_node) > un "agent" (le kernel ou noyau du Système démarré : le "Système du Système" > qui effectue le montage du volume, à partir du point de montage du système de fichiers, sur l'espace de blocs de la partition).

Le montage d'un volume sur l'espace d'une partition peut se trouver effectué avec des variations modales : en mode "lecture et écriture" ou en mode "lecture seule", par exemple ; mais également en mode "préservation des permissions absolues" ou inversement en mode "instauration de permissions relatives".

C'est ce dernier mode qui peut t'intéresser, car voici en quoi il consiste : sans aucun changement intrinsèque des permissions absolues fixées sur les objets du volume > il permet le montage du volume d'une manière telle que, provisoirement, c'est l'utilisateur connecté (celui qui a ouvert sa session) qui se trouve considéré comme le propriétaire récursif du répertoire du volume et de tous ses éléments enfants. Conversion provisoire du propriétaire qui va de pair avec une conversion relative du groupe : c'est le groupe staff (des ayants comptes dans l'OS du volume démarré) qui se trouve considéré comme le groupe principal d'accès au volume.

Cette modification relative des permissions n'affectant que le mode de montage du volume pour la session ouverte de l'utilisateur connecté peut paraître plus faible qu'une modification absolue s'inscrivant sur les objets eux-mêmes. Mais elle offre deux avantages décisifs : d'abord elle autorise d'autres utilisateurs, dès lors qu'il sont connectés et ont ouvert leur session, à bénéficier du même type de montage du volume qui va donc les introniser en propriétaires provisoires récursifs (avantage en ce qui concerne le partage éventuel du volume d'un périphérique) ; ensuite - et il s'agit ici d'un point décisif - ce mode d'appropriation de l'espace d'un volume rien que par le mode de son montage "de faveur" --> ne change justement rien aux permissions absolues sur les objets du volume. Si le volume concerné recèle un Système démarrable > il est absolument décisif de ne pas tripoter les permissions absolues sur tout le sous-ensemble des fichiers du Système démarrable (permissions accordées au sujet « root » et au groupe spécial « wheel »). Car un volume recelant un Système démarrable ne devrait jamais être traité comme un banal volume de stockage de données. La conversion relative des permissions par action sur le mode de montage du volume respecte, dans le principe, cette spécificité d'un volume démarrable.

Pour activer le mode de montage d'un volume privilégiant l'utilisateur connecté > faire un cmd I sur le volume > déverrouiller la fenêtre d'information du Finder > cocher tout en bas de panneau la case : Ignorer les autorisations de ce volume. Ce qui veut dire : ignorer au montage du volume les permissions absolues inscrites sur les objets > et monter l'espace de répertoire de fichiers du volume avec l'utilisateur connecté qui a ouvert sa session intronisé en propriétaire récursif du volume. Ce type de "flag" (attribution invisible) fixé sur l'en-tête du volume se trouve passé au kernel lors du processus du montage.
 
Dernière édition:
  • J’aime
Réactions: litobar71
D

Deleted member 1099514

Invité
Oups, mes yeux avaient fourché. J'efface mes bêtises.:D
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
74 434
22 656
Forêt de Fontainebleau
lewax déclare à propos de ce volume RAID externe :
Ce disque me sert a stocker mes données.
mais comme il déclare aussi à son propos :
j'ai viré le vieil utilisateur et ajouté le nouveau
je conjecture que ce volume a toutes les chances d'être un volume recelant un ancien Système démarrable > à présent recyclé à un usage de stockage. Volume dans lequel le dossier de compte principal du répertoire Utilisateurs serait affecté à un nom d'utilisateur différent de celui de l'utilisateur actuellement connecté. La même personne réelle, en fait > mais ayant peut-être modifié son identité logique d'un ancien Système à un nouveau.

Dans ce genre de situation un tantinet embrouillée > une simple modification du mode de montage du volume via l'option : "Ignorer les autorisations de ce volume" peut régler la question de l'accès aux données sans invalider la capacité de re-démarrer sur le Système du volume.
 
  • J’aime
Réactions: lewax

lewax

Membre confirmé
13 Janvier 2005
231
1
Merci macomaniac pour toutes explications très instructives.
En fait, j'ai fait un SOS depuis l'utilitaire de disque et il m'a sorti beaucoup d'erreurs sur mon volume (pas matériel) ensuite SOS a essayé de réparer le volume mais n'a pas réussi et je n'ai plus eu accès du tout au volume... J'ai essayé de réparer avec diskwarrior mais lui aussi n'a pas réussi.. Donc formatage et remise en place d'un backup.
Maintenant c'est tout ok.
Désolé du dérangement et merci pour ton aide.
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
74 434
22 656
Forêt de Fontainebleau
:coucou: lewax

Solution radicale, finalement.

Quand tu parles de récupération d'une sauvegarde dans ton volume reformaté --> est-ce qu'il s'agit d'un OS démarrable que tu aurais remis ?
 

duduff

Membre junior
30 Juillet 2018
68
0
31
Salutation ,
j'ai aussi un soucis de permission sur mon disque d'instal. J'ai déjà fait une fois la grosse bêtise de modifier de manière absolue les permissions sur une instal et je m'en mords encore les doigts du coup je n'ose plus y toucher.
J'ai qq logiciel qui ne fonctionne pas du tout du fait qu'il n'ont pas les autorisation d'écriture par exemple.
Tu m'avais un peu suivi Macomaniac à ce moment d'ailleurs.
Est ce que la solution dont tu parles est non destructive ?
Merci d'avance
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
74 434
22 656
Forêt de Fontainebleau
Bonjour duduff

Je te propose de fournir les informations de base de la manière suivante -->

- va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs paramètres de tables de partition > partitions > Conteneur CoreStorage si présent > Conteneur apfs si présent

Poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->
  • dans la page de ce fil de MacGé > presse le bouton
    ici :

    menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)

=> ces informations montreront la configuration des disques. Tu pourras indiquer si le problème concerne le volume de démarrage ou des volumes externes.
 

duduff

Membre junior
30 Juillet 2018
68
0
31
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS PROJECTS 3.0 TB disk0s2

/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS Clone 499.2 GB disk1s2
3: Apple_Boot Recovery HD 650.0 MB disk1s3

/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *2.0 TB disk2
1: Apple_HFS DATA 2.0 TB disk2s1
 

duduff

Membre junior
30 Juillet 2018
68
0
31
c'est sur le volume CLONE sur lequel il y a l'instal

Clone
système lecture et écriture
wheel lecture seulement
everyone lecture seulement

Data
système lecture et écriture
admin lecture et écriture
everyone lecture seulement

Projects
duff(moi) lecture et écriture
staff lecture et écriture
everyone lecture seulement

Je ne comprends pas pourquoi ils ont tous des autorisations différentes
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
74 434
22 656
Forêt de Fontainebleau
Un volume de démarrage a des autorisations canoniques qu'il ne faut surtout pas chercher à modifier sans risque de plantade majeure. Les autorisations de Clone sont régulières pour un volume de démarrage : les 3 accédants d'un volume de démarrage sont toujours root (super-utilisateur) > wheel (groupe-Système principal) > everyone (groupe secondaire) > avec permission d'écriture uniquement pour root. Les 3 accédants ont en plus des permissions d'exécution (de l'entrée aux répertoires) qui ne sont jamais affichées dans une fenêtre d'information du Finder.

Par contre > des volumes de simple stockage ont normalement des autorisations différentes : l'utilisateur propriétaire étant fréquemment le même que l'utilisateur admin qui a créé le volume (duff par exemple) > et le groupe principal étant staff (le groupe des ayants comptes dans l'OS). Il n'y a ici aucun Système à démarrer dans le volume > rien qu'un accès aux données recelées en mode stockage.

  • en quoi cette différence logiquement fondée d'autorisations te pose-t-elle problème ?
 

duduff

Membre junior
30 Juillet 2018
68
0
31
ce qui me pose problème c'est que j'ai plusieurs logiciel qui n'ont pas de permission d'écriture et qui du coup ne peuvent enregistrer.
Si ça te semble normale au niveau de la config que je viens de t'envoyer je ne comprends pas bien ce qui se passe
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
74 434
22 656
Forêt de Fontainebleau
Mais en quelles localisations du volume Clone est-ce que tes logiciels auraient à écrire ?

Note : il s'agit peut-être simplement de désactiver le SIP (protocole de sécurisation) s'il était activé. Passe la commande :
Bloc de code:
csrutil status
  • qui retourne le statut du SIP

Poste cet affichage.
 

duduff

Membre junior
30 Juillet 2018
68
0
31
Bloc de code:
Last login: Fri Sep 28 09:48:15 on ttys000
iMac:~ duff$ csrutil status
System Integrity Protection status: disabled.
iMac:~ duff$
 

duduff

Membre junior
30 Juillet 2018
68
0
31
je travaille avec davinci resolve et il a besoin d'autorisation pour une Database dans Library/applicationsupport/