10.10 Yosemite Permissions des dossiers Applications et Utilitaires

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Je constate à l'instant que j'ai des permissions bizarres sur mon dossier Applications (Yosemite OS X 10.10.5)

PermApplications.jpg

(il y a même 4 lignes de permissions "personnalisée" pour remy(moi), dont 2 visibles sur la copie d'écran)

Malgré une réparation des autorisations, ce dossier Applications reste avec ces permissions.
Quelle sont les valeurs correctes, et comment les restaurer?

Merci d'avance

Nota: pour ce qui est du dossier Utilitaires, j'ai ça
PermUtilitaires.jpg


est-ce normal qu'admin soit en lecture seule?
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
:coucou: r e m y

J'ai re-démarré sur ma partition «Yosemite 10.10.5» pour vérifier :

- a) le dossier des Utilitaires : tout est au default chez toi > j'ai pour ma part la même capture :
491699_original.png

- b) le répertoire parent des Applications : les permissions POSIX (= "basiques" = triplet de lire > écrire > exécuter [l'entrée au répertoire] - cette dernière non affichée graphiquement dans les fenêtres d'infos du Finder - pour le trio d'accédants : utilisateur > groupe principal > groupe secondaire) chez toi sont aussi au default (il s'agit des 3 lignes inférieures concernant système > admin > everyone) > comme tu peux vérifier d'après la capture de ma fenêtre d'info sur le même répertoire :
491292_original.png

Les entrées mentionnées en en-tête (càd., en mode graphique, toujours au-dessus du trio des permissions POSIX de base) correspondent à des ACE (Access Control Entries : Entrées de Contrôle d'Accès) inscrites dans la liste ACL (Access Control List : Liste de Contrôle d'Accès) attachée à l'objet considéré : ici, le répertoire des Applications. En Français standard : un jeu de permissions spéciales est affecté à l'utilisateur r e m y (2 fois - càd. sous 2 rapports différents) et au groupe secondaire everyone - permissions additionnelles (ou extra-POSIX) qui peuvent être aussi bien « positives » (additives) : extra-possibilité d'opérer de telle ou telle façon dans l'espace du dossier concerné) ; que « négatives » (restrictives) : interdiction d'opérer de telle ou telle façon dans l'espace du dossier concerné.

Pour te faire une idée de ce qu'il en est actuellement, tu peux passer dans le «Terminal» la commande :
Bloc de code:
ls -dale /Applications
qui va te retourner (sans plonger dans les profondeurs du répertoire Applications) le tableau des permissions actuelles, POSIX et ACL > tu n'as qu'à en faire un copier-coller ici.

Sinon, la manœuvre classique pour remettre à zéro la liste ACL attachée à un objet quelconque dans l'OS : ici le dossier Applications (càd. effacer les ACE ou entrées de permissions spécialisées qui y sont inscrites) consiste en la commande :
Bloc de code:
sudo chmod -R -N /Applications
où l'utilitaire chmod (change_mode : changer le mode des permissions) est appelé avec les 2 options -R (Récursive : toute la profondeur du dossier > j'aurais pu m'en abstenir, pour ne cibler que le dossier parent Applications, mais autant remettre tout au default) et -N (New : effacer toutes les ACE des listes d'ACL en revenant au default) > sur la cible du répertoire des Applications.

[Un petit coup de re-démarrage derrière ne peut pas faire de mal > une fenêtre d'infos du Finder devrait désormais te retourner le seul trio des permissions POSIX sur ton répertoire des Applications - comme dans ma 2è capture ci-dessus...]​
 
Dernière édition:

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
:coucou: Macomaniac

Voilà le résultat de ls -dale

Last login: Sun Jul 10 08:30:06 on console
MacBookPro-de-Remy:~ remy$ ls -dale /Applications
drwxrwxr-x+ 101 root admin 3434 7 jul 19:44 /Applications
0: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
1: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
2: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
3: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
4: group:everyone deny delete

J'en déduis que remy (Moi) peut ajouter des fichiers et des dossiers à l'intérieur du dossier /Applications
et que le groupe everyone à l'interdiction de supprimer quoi que ce soit.

C'est bien ça?

Je vais peut-être laisser en l'état bien que ca me semble superfétatoire, remy étant administrateur et everyone étant de toutes façons en lecture seule...
Par contre, pourquoi retrouver 4 fois la même chose pour l'utilisateur remy??
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
Une ACE : "everyone deny delete" comme listée en n°4 n'est pas sans précédents sur un répertoire.

C'est une ACE de type "restrictif" pour le groupe secondaire everyone, qui a pour effet secondaire de forcer un admin sur l'espace du dossier à s'authentifier par mot-de-passe admin s'il veut supprimer un élément du dossier (càd. exercer le même genre de permission qui est déniée à everyone) > dans la mesure où, quoique admin ayant le droit de supprimer, il est aussi membre du groupe secondaire everyone privé du droit de supprimer > il doit donc prouver qu'il n'est pas qu'un membre du everyone, mais en qualité de membre du groupe admin qu'il a bien le privilège du "delete".

=> ce type d'ACE restrictive associée à everyone est donc susceptible de rendre pénible pour un admin (voire l'user, quand il ne s'agit pas de root) l'exercice de son « droit naturel » sur les objets impliqués, en l'obligeant à s'authentifier pour faire jouer les permissions déniées à everyone.

=> il est bien entendu possible de "sur-contrer" cette situation, en ajoutant à l'user ou à l'admin une ACE "positive" qui l'autorise spécifiquement à faire jouer cette permission (déniée à everyone), en situant cette ACE à un rang de l'ACL qui lui donne une précellence exécutive sur le "everyone deny delete" (comme tu vois, ça devient très vite une espèce de dentelle complexe).

--------------------​

Or, si tu examines justement à présent l'ACE positive : "remy allow add_file,add_subdirectory,writeattr, writeextattr,writesecurity", tu t'aperçois de ce point de vue qu'elle ne "surcontre" pas l'ACE négative "everyone deny delete".

Par ailleurs, l'absurdité consiste à avoir 4 fois le même type exact d'ACE : "remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity" aux rangs 0 > 1 > 2 > 3 de la liste ACL => cette redondance est bien évidemment inutile.

Afin d'apurer ce haut du tableau de ta liste ACL sur le répertoire des Applications > voici la commande à passer (copier-coller) :
Bloc de code:
sudo chmod -R -a# 1 /Applications
=> cette même commande, tu dois la passer exactement à l'identique 3 fois de suite > ce qui fait que l'utilitaire chmod effacera récursivement l'ACE1 (= "remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity") de la liste ACL une première fois, ce qui remontera le doublon n°2 > n°1 qui sera effacé par la réitération de la commande > ce qui remontera le nouveau doublon n°2 (ex: 3) > n°1 qui sera effacé à son tour par la 3è itération de la commande.

Si tu repasses alors la commande :
Bloc de code:
ls -dale /Applications
tu devrais obtenir le tableau d'ACL suivant :
Bloc de code:
MacBookPro-de-Remy:~ remy$ ls -dale /Applications
drwxrwxr-x+ 101 root admin 3434 7 jul 19:44 /Applications
0: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
1: group:everyone deny delete

Si tu passais alors la commande :
Bloc de code:
sudo chmod -R +a# 1 "remy allow delete" /Applications
tu introduirais au rang n°1 (en repoussant l'ACE : "everyone deny delete" au rang n°2) une ACE "sur-contrant" la restriction affectant everyone (du moins, il est permis de l'espérer...).

Si tu préfèrais une seule ACE pour remy, alors il faudrait passer plutôt la commande :
Bloc de code:
sudo chmod -R =a# 0 "remy allow delete,add_file,add_subdirectory,writeattr,writeextattr,writesecurity" /Applications
qui éditerait l'ACE0 en la remplaçant par une nouvelle qui ajoute la permission de delete dans la liste des arguments permissifs.

--------------------​
 
Dernière édition:

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Très clair.

Pour faire encore plus simple, je vais revenir au standard de chez standard avec
sudo chmod -R -N /Applications

Merci encore pour ce petit coup de main dominical! :up:
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Bon j'ai appliqué sudo chmod -R -N /Applications et j'ai retrouvé des permissions similaires à ta copie d'écran pour le dossier /Applications.

Par contre, ensuite, avec Utilitaire Disques, j'ai fait une réparation des permissions et j'ai vu défiler...
ReparationACL.jpg


Une fois les ACL manquantes réparées par Utilitaire Disques, je retrouve les mêmes ACE sur mon dossier /Applications (avec à nouveau 4 fois la même ACE pour "remy"

Bizarre, non?

Sur quoi se base l'Utilitaire Disque pour réparer les autorisations?
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
C'est pas triste ton histoire - que le coupable de la quadruple ACE en faveur de r e m y soit l'«Utilitaire de Disque» !

L'«Utilitaire de Disque» utilise comme référence des autorisations les fichiers .bom (bill_of_materials) qui s'enregistrent dans des dossiers bases de données intitulés receipts à l'installation du Système comme de logiciels (ainsi at: /private/var/db/receipts > n fichiers .bom ; mais tu as aussi : /System/Library/receipts). Qu'il repère (dans je ne sais quels .bom) un paradigme qui serait :
Bloc de code:
0: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
1: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
2: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
3: user:remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
4: group:everyone deny delete
pour le répertoire des Applications (et peut-être de bundles d'applications à l'intérieur) > je n'arrive pas à la concevoir. Et pourtant ça semble bien le résultat de cette opération.

--------------------​

Je me suis livré à une petite enquête dans mon «Yosemite» > le résultat de la commande :
Bloc de code:
ls -dale /Applications
retourne un :
Bloc de code:
drwxrwxr-x root  admin  Applications
0: group:everyone deny delete
> donc avec une ACE restrictive "everyone deny delete" sur le dossier parent > et cet état de lieux se répète pour les bundles d'applications à l'intérieur du dossier ainsi que pour le sous-dossier des Utilitaires.

=> il semble alors que : du moins l'ACE restrictive "everyone deny delete" soit de rigueur (ce qui a pour effet obligé de forcer un user admin à s'authentifier - comme expliqué avant - pour faire jouer la permission "delete" dans l'espace des Applications).

Mais je ne trouve nulle part d'ACE positive attribuée à ma pomme, qui proviendrait de l'action de réparation des autorisations de l'«Utilitaire de Disque». Je ne peux qu'en conclure qu'il y a des anomalies dans les paradigmes .bom du volume de ton OS.

--------------------​

Tu peux essayer une petite manip (inoffensive) pour voir si tu peux berner l'«Utilitaire de Disque» en ce qui concerne les ACE en faveur de remy - ce juste sur le dossier parent des Applications > donc sans employer d'option récursive -R appliquant les commandes aux éléments enfants (les bundles d'applications).

Par la commande (non récursive) :
Bloc de code:
sudo chmod -N /Applications
> tu fais sauter les ACE de la liste ACL associée au répertoire Applications.

Maintenant, par la commande :
Bloc de code:
sudo chmod +a# 0 "everyone deny delete" /Applications
tu inscris, en position princeps (0), une ACE négative "deny delete" en défaveur du groupe secondaire sur le seul dossier parent des Applications.

=> si tu demandes à l'«Utilitaire de Disque» une "vérification" (ou une "réparation" si tu préfères) des autorisations > est-ce qu'il échappe le dossier Applications, parce que la présence de l'ACE "everyone deny delete" lui suffit > ou bien est-ce qu'il recolle les 4 ACE en plus : "remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity" ? Tu peux le vérifier après coup en repassant la commande :
Bloc de code:
ls -dale /Applications

=> comme tu le devines bien > il ne s'agit ici que d'une petite amusette "pour voir". En cas de ré-inscription des ACE redondantes en faveur de remy, un reformatage du volume
361608_original.png
une ré-installation conservative de l'OS à partir de la «Recovery HD» apurerait peut-être les fichiers .bom paradigmes ?

--------------------​
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Test effectué et.. utilitaire disque me recolle les 4 ACE pour remy...
Il est têtu le bougre.

Bon comme je pars en vacances je verrai au retour pour faire un nettoyage en profondeur des fichiers .bom

Merci encore!
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Juste pour info (je n'ai pas pris le temps de faire des tests car je pars en vacances), les quelques bom récents dans /Var/db/receipts sont ceux de GateKeeper et XProtect (probablement lié à la récente mise à jour de sécurité) ainsi qu'un utilitaire "WiFi signal" venant du Mac AppStore.
Tous les autres remontent à plusieurs mois.

Je pourrais essayer de sortir ces bom de ce dossier et voir si utilitaire disque continue à me coller ces 4 ACE sur le dossier Applications, qu'en penses-tu ?
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
Les 4 ACE identiques en faveur de remy ne peuvent pas provenir d'une installation-Système (à vocation "multi-utilisateurs" dans le principe). La conjecture alors est qu'elles proviendraient de l'installation de logiciels tiers. Qui auraient requis une permission d'ACL spéciale en faveur de l'utilisateur remy greffée en permanence sur le répertoire parent Applications ?

Bizarre de chez bizarre : car des applications qui s'installent au nom de l'utiisateur requièrent couramment une simple élévation de droits de type sudo pour se loger dans les Applications ou loger des composants dans des répertoires-Système protégés. C'est la première fois que je m'avise de l'interpolation d'une ACE permanente dans la liste ACL du répertoire des Applications en faveur de l'utilisateur. Lui permettant sans authentification d'ajouter des fichiers, des sous-dossiers, ou encore d'écrire des attributs, ou des attributs_étendus sur des fichiers ou sous-dossiers.

Bien sûr, l'idée que ce passe-droit proviendrait de logiciels-tiers est purement conjecturale. Et qu'il serait solidarisé du récépissé d'installation .bom correspondant > donc pris en compte à partir de là par l'«Utilitaire de Disque» comme composant "officiel" des autorisations sur Applications. Alors même que le récépissé d'install-Système du dossier des Applications ne comporte rien de tel a priori.

Il y a manifestement là-dedans quelque chose qui m'échappe. Accentué par l'itération irrationnelle de cette ACE (4 entrées en tout).

Tu peux toujours déplacer hors des dossiers de receipts tel ou tel .bom (quitte à le remettre ensuite*) > histoire de voir effectivement si l'«Utilitaire de Disque» arrête de replacer les mêmes ACE. Ce qui implique, bien sûr, qu'en préalable tu repasses la commande :
Bloc de code:
sudo chmod -N /Applications
histoire de vider la liste ACL correspondante > afin de pouvoir constater ensuite si des ACE ont été rajoutées...

[* déplacer graphiquement des .bom hors de leur localisation > vire ipso facto leurs accédants de root:wheel à remy:staff > si tu es amené à les replacer a la mano dans leur dossier de localisation primitif > il faudrait que tu rétablisses après les accédants par une commande dans le «Terminal» - fichier à fichier - du type :
Bloc de code:
sudo chown 0:0 [fichier.bom]
où tu te contentes de saisir textuellement sudo chown 0:0 > tu sautes un espace > tu fais un glisser-déposer du fichier .bom dans la fenêtre du «Terminal» pour avoir l'adresse et l'intitulé du fichier > tu exécutes alors la commande (le premier 0 vaut pour l'user, et la valeur 0 y désigne root en mode octal > le deuxième 0 vaut pour le primary group, et la valeur 0 y désigne le groupe-Système wheel en mode octal - chown étant l'utilitaire qui manipule les accédants : change_owners).]
 
Dernière édition:

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Oui je ferai ces tests à mon retour pour essayer d'identifier le fichier bom responsable.
Généralement j'utilise batchmod pour vérifier les droits sur les fichiers avant déplacement puis les remettre correctement ensuite.
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Ce truc me tarabustait.... il fallait que je trouve si je voulais passer des vacances tranquilles.

Donc "Accès à mon mac" à distance, et je suis retourné voir les "bom" dans /var/db/receipts
A chaque fichier "bom" est associé un fichier "plist"
bom_plist.jpg


Je suis donc allé regarder les plist et si plusieurs mentionnent
<string>!#acl 1
group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete
</string>
Il y en a un qui crée les 4 ACE associées à mon user.... c'est la beta de Safari 10
Safari10beta.jpg


Pourquoi un tel comportement ??? C'est quand même bizarre...
 
Dernière édition:

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
Tu peux toujours exclure à la fois le signal.bom et le signal.plist du dossier receipt > passer la commande sudo chmod -N /Applications pour vider l'ACL du répertoirre Applications > réparer les permissions par l'«Utilititaire de Disque» > repasser un : ls -dale /Applications pour vérifier l'état des lieux.

--------------------​

Tu remarqueras effectivement dans le fichier signal.plist la séquence suivante (j'ai détaché les segments) :
Bloc de code:
<key>PathACLs</key>
<dict>

<key>Applications</key>
     <string>!#acl 1
     user:1267D804-BEA1-465F-B2C6-6D1AA5E80BF0:remy:503:allow:write,append,writeattr,writeextattr,writesecurity
     user:1267D804-BEA1-465F-B2C6-6D1AA5E80BF0:remy:503:allow:write,append,writeattr,writeextattr,writesecurity
     user:1267D804-BEA1-465F-B2C6-6D1AA5E80BF0:remy:503:allow:write,append,writeattr,writeextattr,writesecurity
     user:1267D804-BEA1-465F-B2C6-6D1AA5E80BF0:remy:503:allow:write,append,writeattr,writeextattr,writesecurity
     </string>

<key>Applications/Safari.app</key>
     <string>!#acl 1
     group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete
     </string>

<key>Library</key>
     <string>!#acl 1
     group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete
     </string>

<key>System</key>
     <string>!#acl 1
     group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete
     </string>

</dict>

=> tu as la clé principale PathACLs (chemins des ACLs) avec, encadrés par les balises <dict></dict> d'ouverture et de fermeture de ce "facteur commun", une série de 4 paramétrages [clé > chaîne]

Une clé (key) désigne l'objet-cible > une chaîne (string) la valeur à lui associer => les 2 marchent par paire et constituent un paramètre (par rapport à la clé principale <key>PathACLs</key>, les <key> </key> en facteur commun sont des sous-clés).

1ère paire clé > chaîne : objet = Applications > valeur : associer à remy 4 ACE "mélioratives" identiques dans l'ACL du répertoire = "allow:write,append,writeattr,writeextattr,writesecurity"

2è paire clé > chaîne : objet = Safari.app > valeur : associer au groupe secondaire everyone 1 ACE restrictive "deny delete" dans l'ACL du bundle.

3è paire clé > chaîne : objet = Library > valeur : associer au groupe secondaire everyone 1 ACE restrictive "deny delete" dans l'ACL du répertoire.

4è paire clé > chaîne : objet = System > valeur : associer au groupe secondaire everyone 1 ACE restrictive "deny delete" dans l'ACL du répertoire.​

--------------------​

=> pour ce qui est de l'ACE "everyone deny delete" > ça semble un classique (une "marotte", quoi) de la part des ingénieurs de la  (passons...).

=> pour ce qui est de l'ACE "remy allow write,append,writeattr,writeextattr,writesecurity" > j'ai du mal à capturer sa raison d'être intrinsèque, remy étant par ailleurs un admin qui possède en tant que tel une permission POSIX d'écriture (write) sur l'espace du répertoire des Applications. Pourquoi lui rajouter un "allow write" en tant qu'ACE personnelle ? Pourquoi les autres permissions secondaires ? Pourquoi 4 fois la même ACE à la suite ? [un « bêta » qui s'est amusé à rajouter une facétie dans une bêta ?]

Tu noteras d'ailleurs que ce n'est pas exactement la même ACE que la première qui était : "remy allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity" > les 2 premières permissions étaient "add_file,add_subdirectory" alors que dans le fichier signal.plist (= instruction > archivée dans le signal.bom) les 2 premières permissions sont : "write,append".

Ce qui laisse penser qu'il doit y avoir quelque part ailleurs une autre paire .plist > .bom à incriminer. Tu as un dossier receipts également dans la /Library (Biblio Générale) et dans la ~/Library (Biblio Perso) en plus des /System/Library et des /private/var/db. Si tu rencontres des .pkg > il y a des fichiers .bom dans les paquets des .pkg. «Pacifist» a une option pour rechercher les "reçus" relatifs à telle ou telle application.

--------------------​
 
Dernière édition:

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
A noter que ce n'est pas signal.bom, signal.plist qui est en cause (même si il est sélectionné sur ma copie d'écran), mais la béta de Safari 10.0Yosemite...
C'est donc un pur produit de la Pomme!
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Après recherche complémentaire dans les dossiers Receipts, en fait la quasi totalité des plist associés à des bom (je ne trouve ces plist que dans le dossier /var/db/receipts) comporte cette quadruple séquence remy allow write,append,writeattr,writeextattr,writesecurity

Le plus ancien retrouvé est la mise à jour 14.5.6 d'Office 2011 d'octobre 2015 qui comporte UNE fois cette ligne et on retrouve cette ligne sur la plupart des installations effectuées ensuite.

Puis en décembre 2015 un security update comporte 3 lignes et on voit ces 3 lignes sur la plupart des plist jusqu'en janvier 2016 avec la mise à jour 14.6.0 d'Office 2011 qui comporte 4 fois cette ligne...

et depuis janvier donc, la plupart des plist associés aux bom comportent ces 4 lignes.


Je n'ai pas encore trouvé où apparaissent les autorisations add_file et add_subdirectory
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
En cherchant le texte "allow add_file add_subdirectory" dans le contenu des fichiers du dossier /var/db/receipts, le seul fichier dans lequel ces 3 termes soient trouvés est le fichier com.apple.pkg.Xcode.bom du 8/02/2016, mais le plist associé ne comporte rien de particulier si ce n'est le désormais "classique" every one deny delete
 
Dernière édition:

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
J'aimerais bien consulter la liste de réparations qu'affiche ton «Utilitaire de Disque» quand il n'est pas "content" (parce que diverses listes ACL ont été vidées de leurs entrées prévues d'après les fichiers .bom).

Si tu te sens en veine "expérimentale", voici un procédé à 2 crans pour obtenir une liste en mode texte :

- a) tu re-démarres sur la «Recovery HD» associée au volume de ton «Yosemite» > Utilitaires > Terminal > tu passes la commande :
Bloc de code:
chmod -R -N /Volumes/"Macintosh HD"
(si Macintosh HD est le nom du volume de ton OS - sinon, tout intitulé dont tu l'as customisé à coller à la fin la séquence chmod -R -N /Volumes/ et entre "" seulement s'il y a un espace interne dans l'intitulé - pas de sudo en tête de commande, car tu es en root d'office dans le «Terminal» de la «Recovery HD»).

C'est la commande de vidage des listes ACL à l'échelle du volume entier de ton OS - qui ne marche qu'à partir d'un démarrage sur un Système alternatif - sinon, depuis le «Terminal» de l'OS démarré, la commande (même avec sudo ici) retourne une ribambelle d'interdictions d'exécution.

--------------------​

- b) tu reviens dans ta session de l'OS et, au lieu d'activer la réparation des permissions dans l'«Utilitaire de Disque» (qui n'affiche pas une liste sortable en mode texte) > dans le «Terminal» tu passes la commande :
Bloc de code:
diskutil repairPermissions / > Desktop/Permissions.txt

Cette commande qui appelle diskutil avec le verbe repairPermissions sur le volume démarré de l'OS / est la même que passe l'«Utilitaire de Disque» --> elle ne va pas te sembler spectaculaire, car le pointeur va rester bloqué à la marge gauche de la fenêtre du «Terminal» tout un temps avant réaffichage de l'invite de commande, sans aucun affichage de lignes de réparations dans la fenêtre. La raison en est la terminaison de la commande > Desktop/Permissions.txt où le > re-dirige la sortie du flux de la commande sur un fichier Permissions.txt créé ad-hoc sur ton Bureau de session.

L'intérêt est que tu pourras l'ouvrir dans «TextEdit» et faire un copier-coller de l'ensemble du texte ici même (entre des balises de code pour ne pas irriter la modération par une consommation abusive de page).

--------------------​

=> Je viens moi-même d'opérer l'exacte opération à 2 crans décrite ci-dessus et j'ai pu constater, si l'on admet que les fichiers .bom de mon OS sont réguliers, qu'une rimbambelle d'ACL étaient considérées indûment vidées > ce qui a occasionné leur "réparation" > des commandes ls -dale sur des adresses choisies montrant qu'il ne s'agissait jamais que de recréer une ACE "everyone deny delete" exclusivement dans chacune.

J'aimerai bien comparer ces adresses d'ACL trouvées indûment vidées avec celles de ton fichier Permissions.txt > histoire de voir si c'est exactement les mêmes chez toi ou s'il y en a d'originales (étant bien entendu que chez toi il y a rajout "surréaliste" d'un qradruplet "remy allow ---" en plus de l'ACE : "everyone deny delete" dans les ACL en question).

Qu'est-ce que tu en dis ?
 
Dernière édition:

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Je ferai ca quand je serai rentré a la maison.
La suite de cette aventure dans une dizaine de jours....

Bonnes vacances si tu en prends!
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
81 427
24 656
Forêt de Fontainebleau
Bonnes vacances, r e m y :coucou:

Nanti de bas en haut d'une quadruple permission spéciale : "remy allow" et de protections "everyone deny delete" > tu peux prendre tous les risques ! Pourquoi pas du BASE jump depuis le sommet du Nose, à El Capitan ? Ou même (soyons fous !) : la plage - carrément...
361608_original.png
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 492
4 308
59
St Germain en Laye - FRANCE
Mon fils qui est passé à la maison en mon absence, a réalisé une version light du test proposé (en supprimant les ACL uniquement sur le dossier Applications et sans le paramètre -R de récursivité)

La réparation des autorisations via diskutil repairPermissions donne ce résultat:

Bloc de code:
Started verify/repair permissions on disk0s2 Disque dur
ACL differs on "Applications"
Repaired "Applications"
Permissions differ on "Applications/Safari.app/Contents/Resources/Safari.help/Contents/Resources/index.html"; should be lrwxr-xr-x ; they are -rwxr-xr-x
Repaired "Applications/Safari.app/Contents/Resources/Safari.help/Contents/Resources/index.html"
Warning: SUID file "System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent" has been modified and will not be repaired
User differs on "private/var/db/displaypolicyd"; should be 0; user is 244
Group differs on "private/var/db/displaypolicyd"; should be 0; group is 244
Repaired "private/var/db/displaypolicyd"
Permissions differ on "Applications/Safari.app/Contents/MacOS/SafariForWebKitDevelopment"; should be -rwxr-xr-x ; they are lrwxr-xr-x
Repaired "Applications/Safari.app/Contents/MacOS/SafariForWebKitDevelopment"
Finished verify/repair permissions on disk0s2 Disque dur

et le dossier Applications retrouve son quadruplet d'autorisations spécifiques pour remy et le deny delete pour everyone...
A noter que contrairement à ce qui est indiqué pour displaypolicyd, la différence de user et group notée comme réparée, ne l'est pas réellement puisqu'un nouveau diskutil repairPermissions note à nouveau cette "anomalie" de user/group 244 au lieu de 0