10.12 Sierra Corbeille et SIP

Zorglub38

Membre actif
21 Mars 2012
955
129
56
VOREPPE
Bonjour la communauté,

J'ai une question qui me taraude depuis quelques jours :

Je possédais 2 comptes sur mon mac : 1 administrateur et 1 utilisateur.

J'ai décider de donner les droits d'administration au compte utilisateur et de supprimer le compte administrateur ainsi que toutes ses données (maison). Une fois l'opération effectuée, je m'aperçois que la maison du compte administrateur est toujours présente sur le ssd je décide donc de le mettre à la corbeille ce qui se fait sans souci.

Quelques jours plus tard je décide de vider la corbeille et là un message m'informe que le système de protection du système empêche la suppression des éléments de la corbeille (donc la maison du compte administrateur).

Ni une ni deux je décide de désactiver le SIP et j'arrive enfin à vider la corbeille et je réactive le SIP tout de suite après et depuis tout fonctionne parfaitement.

Ma question est la suivante : pourquoi j'ai pu mettre à la corbeille la maison d'un compte qui a été supprimé mais pourquoi le SIP m'empêche de supprimer totalement ces fichiers ???

Merci de votre contribution.
 
Normalement pour supprimer le dossier utilisateur il faut passer par les préférences Utilisateurs et groupes --> Puis cliquer sur "-" à côté du compte et cliquer sur "supprimer le dossier de l'utilisateur". Essaie donc de restaurer le dossier et de faire la manip
 
Normalement pour supprimer le dossier utilisateur il faut passer par les préférences Utilisateurs et groupes --> Puis cliquer sur "-" à côté du compte et cliquer sur "supprimer le dossier de l'utilisateur". Essaie donc de restaurer le dossier et de faire la manip
C'est ce que j'ai fait pour le compte que j'ai supprimé mais il subsistait malgré tout ensuite la maison de cet utilisateur. Je l'ai donc effacé en la mettant dans la corbeille. Et quand j'ai voulu vider la corbeille le message d'erreur est apparu lors de la tentative d'effacement du dossier Desktop de la maison.
 
Salut Zorglub

Aha ! encore une petit rébus bien abstrus...

En ce qui concerne d'abord un « compte d'utilisateur » --> en résumé c'est une identité d'utilisateur consignée dans un fichier .plist dont un processus du Système charge les paramètres au démarrage + un dossier de départ qui joue le rôle d'espace opératoire pour cet utilisateur.

La base de données des fichiers identitaires d'utilisateur est localisée at: /private/var/db/dslocal/nodes/Default/users ; le répertoire recelant les dossiers de départ est localisé at: /Users (répertoire des Utilisateurs). Pour incruster dans ce discours une pincée de «Terminal» --> la commande :
Bloc de code:
sudo find /private/var/db/dslocal/nodes/Default/users \! -name "_*" -print
t'affiche en retour le tableau des fiches d'identité des utilisateurs dotés d'une identité personnelle (en excluant des utilisateurs cryptiques dont le nom commence par un underscore _) ; par ailleurs > la commande :
Bloc de code:
ls /Users
t'affiche en retour le tableau des dossiers de départ présents dans le répertoire /Users.

Ainsi : le répertoire des Utilisateurs (/Users) ne recèle que les dossiers de départ (qui servent d'espace opératoire de session) > mais c'est le dossier /private/var/db/dslocal/nodes/Default/users qui recèle les fiches d'identités d'utilisateurs.

Quand on demande la suppression d'un « compte d'utilisateur » (imaginons l'utilisateur dont le nom court est zorg) dans le panneau des Utilisateurs et groupes > par défaut la suppression porte directement sur la fiche d'identité recelée at: /private/var/db/dslocal/nodes/Default/users/zorg.plist --> car c'est ce fichier .plist qui fait "exister" l'utilisateur pour le Système. Plus de fichier zorg.plist --> plus d'existence de l'utilisateur.

À cette suppression essentielle de l'identité d'utilisateur > se trouve associée une option triple concernant le dossier de départ du répertoire des Utilisateurs (/Users/zorg) : conserver ce dossier tel quel --> ce qui donne un : zorg (Supprimé) > l'archiver dans une image-disque --> ce qui donne un : Utilisateurs supprimés/zorg.dmg > le supprimer carrément.

Je présume que tu as supprimé la fiche d'identité de l'utilisateur zorg.plist > en optant pour la conservation de son dossier de départ dans le répertoire des Utilisateurs > soit comme zorg (Supprimé) > soit comme Utilisateurs supprimés/zorg.dmg.

----------

À présent > en ce qui concerne le SIP > il distribue des flags "rootless" sur divers répertoires > fichiers conformément au tableau listé dans le fichier : /System/Library/Sandbox/rootless.conf > dont voici l'affichage :
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

En se bornant à survoler ce tableau > il apert que le répertoire /Users est "hors-SIP" > et donc relève de permissions régulières où root a l'autorité entière -->
Bloc de code:
drwxr-xr-x   root            admin
--> un admin pouvant, pour sa part, entrer dans le répertoire (= x) > pour en lire les éléments recelés (= r) > mais sans pouvoir écrire (w) directement à cet espace > sauf à élever ses permissions aux droits de root > lequel possède la permission d'écrire à cet espace (w) > ce qui peut signifier supprimer un élément de l'espace du répertoire (mise à la corbeille).

Une fois mis à la corbeille de ton nouveau compte admin > le dossier de compte zorg (quelle que soit sa forme : zorg (Supprimé) > ou Utilisateurs supprimés/zorg.dmg.) n'a pas lieu de récolter un flag du SIP qui bloquerait sa suppression.

=> j'en conclus que : soit une erreur est intervenue (mais je ne conçois pas pourquoi elle serait intervenue concernant le vidage de la corbeille et pas la mise à la corbeille) > soit il y a un problème intrinsèque de permissions de corbeille dans ton nouveau compte admin.

Tu n'as qu'à recréer expérimentalement un nouveau compte admin toto (mot-de-passe toto) > puis supprimer cette identité > en conservant le dossier de départ dans le répertoire des Utilisateurs (soit tel quel > soit en archive) --> que se passe-t-il quand tu entres (via le Finder) dans le répertoire des Utilisateurs : a) pour mettre à la corbeille le dossier de compte toto > pour ensuite b) commander le vidage de ta corbeille (le SIP étant ré-activé) ?
 
Salut Zorglub

Aha ! encore une petit rébus bien abstrus...

En ce qui concerne d'abord un « compte d'utilisateur » --> en résumé c'est une identité d'utilisateur consignée dans un fichier .plist dont un processus du Système charge les paramètres au démarrage + un dossier de départ qui joue le rôle d'espace opératoire pour cet utilisateur.

La base de données des fichiers identitaires d'utilisateur est localisée at: /private/var/db/dslocal/nodes/Default/users ; le répertoire recelant les dossiers de départ est localisé at: /Users (répertoire des Utilisateurs). Pour incruster dans ce discours une pincée de «Terminal» --> la commande :
Bloc de code:
sudo find /private/var/db/dslocal/nodes/Default/users \! -name "_*" -print
t'affiche en retour le tableau des fiches d'identité des utilisateurs dotés d'une identité personnelle (en excluant des utilisateurs cryptiques dont le nom commence par un underscore _) ; par ailleurs > la commande :
Bloc de code:
ls /Users
t'affiche en retour le tableau des dossiers de départ présents dans le répertoire /Users.

Ainsi : le répertoire des Utilisateurs (/Users) ne recèle que les dossiers de départ (qui servent d'espace opératoire de session) > mais c'est le dossier /private/var/db/dslocal/nodes/Default/users qui recèle les fiches d'identités d'utilisateurs.

Quand on demande la suppression d'un « compte d'utilisateur » (imaginons l'utilisateur dont le nom court est zorg) dans le panneau des Utilisateurs et groupes > par défaut la suppression porte directement sur la fiche d'identité recelée at: /private/var/db/dslocal/nodes/Default/users/zorg.plist --> car c'est ce fichier .plist qui fait "exister" l'utilisateur pour le Système. Plus de fichier zorg.plist --> plus d'existence de l'utilisateur.

À cette suppression essentielle de l'identité d'utilisateur > se trouve associée une option triple concernant le dossier de départ du répertoire des Utilisateurs (/Users/zorg) : conserver ce dossier tel quel --> ce qui donne un : zorg (Supprimé) > l'archiver dans une image-disque --> ce qui donne un : Utilisateurs supprimés/zorg.dmg > le supprimer carrément.

Je présume que tu as supprimé la fiche d'identité de l'utilisateur zorg.plist > en optant pour la conservation de son dossier de départ dans le répertoire des Utilisateurs > soit comme zorg (Supprimé) > soit comme Utilisateurs supprimés/zorg.dmg.

----------

À présent > en ce qui concerne le SIP > il distribue des flags "rootless" sur divers répertoires > fichiers conformément au tableau listé dans le fichier : /System/Library/Sandbox/rootless.conf > dont voici l'affichage :
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

En se bornant à survoler ce tableau > il apert que le répertoire /Users est "hors-SIP" > et donc relève de permissions régulières où root a l'autorité entière -->
Bloc de code:
drwxr-xr-x   root            admin
--> un admin pouvant, pour sa part, entrer dans le répertoire (= x) > pour en lire les éléments recelés (= r) > mais sans pouvoir écrire (w) directement à cet espace > sauf à élever ses permissions aux droits de root > lequel possède la permission d'écrire à cet espace (w) > ce qui peut signifier supprimer un élément de l'espace du répertoire (mise à la corbeille).

Une fois mis à la corbeille de ton nouveau compte admin > le dossier de compte zorg (quelle que soit sa forme : zorg (Supprimé) > ou Utilisateurs supprimés/zorg.dmg.) n'a pas lieu de récolter un flag du SIP qui bloquerait sa suppression.

=> j'en conclus que : soit une erreur est intervenue (mais je ne conçois pas pourquoi elle serait intervenue concernant le vidage de la corbeille et pas la mise à la corbeille) > soit il y a un problème intrinsèque de permissions de corbeille dans ton nouveau compte admin.

Tu n'as qu'à recréer expérimentalement un nouveau compte admin toto (mot-de-passe toto) > puis supprimer cette identité > en conservant le dossier de départ dans le répertoire des Utilisateurs (soit tel quel > soit en archive) --> que se passe-t-il quand tu entres (via le Finder) dans le répertoire des Utilisateurs : a) pour mettre à la corbeille le dossier de compte toto > pour ensuite b) commander le vidage de ta corbeille (le SIP étant ré-activé) ?
Merci @macomaniac pour tes explications détaillées que j'ai assimilé. J'en conclus donc qu'un bug s'est produit car j'ai respecté la procédure de suppression de compte c'est à dire aller dans les préférences utilisateur, cliquer sur le "-" sur le compte a supprimer, répondu affirmatif lors de la demande de suppression des répertoires et fichiers du compte. En faisant par la suite un "ls /Users", n'apparaissent plus que les comptes guest, shared et zorg. Par contre en parcourant l'arborescence du ssd je me suis aperçu que le dossier "maison" du compte supprimé était toujours présent. Je l'ai donc mis à la corbeille. Et lors de la demande de vidage de la corbeille, en fait seul le dossier "Desktop" de la maison ne veut pas se supprimer. Il a fallu que je désactive le SIP pour effectuer l'opération.
 
Il y a eu manifestement un pataquès à la suppression du compte. Peut-être parce que c'était le compte « aborigène » : le n° 501 créé à la finalisation de l'installation de l'OS. Rien de conforme aux règles du jeu. Un accident logique.
 
  • J’aime
Réactions: Zorglub38