Jean
Je n'ai pas suivi en mode "
live" les péripéties «
temporaires » de ce fil > et je ne m'en avise qu'en mode rétrospectif > je m'y immisce donc en assumant un office de glosateur farceur.
Dans mon OS «
El Capitan» (ou «
Sierra» aussi bien : aucune différence) > le
SIP étant chez moi
désactivé en
NVRAM > ce qui fait que tout OS démarré par le Mac est libre de cette servitude > si le passe la commande :
j'obtiens le retour :
Bloc de code:
lrwxr-xr-x@ root wheel /tmp -> private/tmp
com.apple.FinderInfo 32
com.apple.rootless 0
qui doit se comprendre ainsi : même si le
SIP n'est pas activé > l'
attribut_étendu rootless se trouve fixé sur le
lien symbolique /tmp à la racine de l'OS.
Si j'
active le
SIP en mode
Recovery > rien n'est changé au retour de la commande > l'attribut
com.apple.rootless étant toujours affecté d'un
0 final > cela n'indique donc pas un statut
désactivé (=
0) vs
activé (=
1). Évidemment les 2 autres liens symboliques à la racine de l'OS :
/etc et
/var portent également le même
attribut_étendu rootless.
Il suffit d'ailleurs de passer la commande :
Bloc de code:
cat /System/Library/Sandbox/rootless.conf
pour obtenir l'affichage du contenu du fichier
rootless.conf qui consigne les objets de type "fichiers" affectés par le
SIP d'un attribut
rootless :
Bloc de code:
/Applications/App Store.app
/Applications/Automator.app
/Applications/Calculator.app
/Applications/Calendar.app
/Applications/Chess.app
/Applications/Contacts.app
/Applications/Dashboard.app
/Applications/Dictionary.app
/Applications/DVD Player.app
/Applications/FaceTime.app
/Applications/Font Book.app
/Applications/Game Center.app
/Applications/Image Capture.app
/Applications/Launchpad.app
/Applications/Mail.app
/Applications/Maps.app
/Applications/Messages.app
/Applications/Mission Control.app
/Applications/Notes.app
/Applications/Photo Booth.app
/Applications/Photos.app
/Applications/Preview.app
/Applications/QuickTime Player.app
/Applications/Reminders.app
/Applications/Safari.app
/Applications/Stickies.app
/Applications/System Preferences.app
/Applications/TextEdit.app
/Applications/Time Machine.app
/Applications/Utilities/Activity Monitor.app
/Applications/Utilities/AirPort Utility.app
/Applications/Utilities/Audio MIDI Setup.app
/Applications/Utilities/Bluetooth File Exchange.app
/Applications/Utilities/Boot Camp Assistant.app
/Applications/Utilities/ColorSync Utility.app
/Applications/Utilities/Console.app
/Applications/Utilities/Digital Color Meter.app
/Applications/Utilities/Disk Utility.app
/Applications/Utilities/Feedback Assistant.app
/Applications/Utilities/Grab.app
/Applications/Utilities/Grapher.app
/Applications/Utilities/Keychain Access.app
/Applications/Utilities/Migration Assistant.app
/Applications/Utilities/Script Editor.app
/Applications/Utilities/System Information.app
/Applications/Utilities/Terminal.app
/Applications/Utilities/VoiceOver Utility.app
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
/System
* /System/Library/Caches
booter /System/Library/CoreServices
* /System/Library/CoreServices/Photo Library Migration Utility.app
/System/Library/CoreServices/RawCamera.bundle
* /System/Library/Extensions
/System/Library/Extensions/*
UpdateSettings /System/Library/LaunchDaemons/com.apple.UpdateSettings.plist
* /System/Library/Speech
* /System/Library/User Template
/bin
dyld /private/var/db/dyld
/sbin
/usr
* /usr/libexec/cups
* /usr/local
* /usr/share/man
# symlinks
/etc
/tmp
/var
> on aperçoit bien en bas de tableau que les
3 liens symboliques (spécifiquement identifiés en tant que
symlinks dans le commentaire échappé
# symlinks) sont bien concernés.
Toute commande,
SIP désactivé, de type :
Bloc de code:
sudo xattr -d com.apple.rootless /tmp
retourne le message d'erreur :
Bloc de code:
xattr: [Errno 1] Operation not permitted: 'tmp'
> d'où il suit qu'un objet auquel se trouve fixé l'
attribut rootless, quand bien mêm le
SIP est-il
désactivé, ne peut se voir supprimer cet attribut. Si par contre je fais un :
Bloc de code:
sudo rm /tmp
sudo ln -s /private/tmp /tmp
sudo chflags -h hidden /tmp
qui
supprime le lien symbolique /
tmp > le
recrée à la racine à partir de son original
/private/tmp > lui refixe le
flag:hidden d'invisibilité > alors repasser la commande :
ne retourne évidemment
aucune mention d'
attribut_étendu rootless sur l'élément.
=> d'où on conclut que seule une
recréation sui generis de l'objet génère un élément
dépouillé de l'
attribut_étendu rootless, s'il était
fixé originellement sur l'objet.
C'est la leçon qu'a retenu
Jean en ce qui concerne l'
original /private/tmp dont le répertoire supportait indûment l'
attribut_étendu rootless qui n'aurait dû affecter que le
lien symbolique de la racine et pas son
original : seule une
suppression [de l'intitulé du dossier] > suivie d'une
recréation d'un dossier vide
/private/tmp [dans lequel aurait pu être recopié le contenu de l'ancien original] > peut générer un objet
dépouillé de cet
attribut_étendu rootless plus collant qu'un
sticky_bit.
La question de
Moon :
Je voudrais bien savoir le fin mot de cette histoire.
n'est pas sans m'évoquer l'angoisse
leibinizienne :
Leibniz a dit:
Pourquoi y a-t-il quelque chose plutôt que rien ?
=> je ne peux, en ce qui concerne l'« effet d'existence » indû d'un
attribut_étendu rootless sur l'original :
/private /tmp > que conjecturer une erreur logique : lors de l'activation du
SIP > le
lien symbolique a été
suivi pour affectation de l'
attribut_étendu également à la
référence originale du lien
/private/tmp et pas seulement au
lien symbolique /tmp de la racine.
Si l'on me demandait encore : mais pourquoi... [etc.] ? > je ne ne peux qu'opposer ici le principe d'ignorance, car il est plus difficile de rendre raison de l'
erreur que de la
vérité. En effet, les raisons imaginables de l'erreur (comme aussi bien d'un accident) sont «
multiples » et mon absence totale de formation informatique m'empêche de descendre en-dessous du seuil du « bon sens » pour affiner l'investigation. C'est arrivé (
hé ! hé !)...
[quand on pense à la complexité colossale en quoi consiste un OS > qu'il n'arrive pas tout le temps des erreurs est admirable ! (en fait, j'imagine qu'il doit en arriver tout le temps, mais qu'elles sont plus ou moins neutralisées dès leur surgissement...)]