J'ai change les permissions du dossier Macintosh HD/Systeme/Bibliotheque/Extensions.
Je m'en suis rendu compte un peu tard, j'ai annule l'opération en cours, mais certains fichiers (extensions donc) a l'intérieur de ce dossier n'ont plus les permissions, notamment le user Wheel a disparu :-S
Le dossier Extensions a, lui, les permissions correctes.
J'aimerai savoir si je peux corriger cette erreur en rétablissant les permissions depuis le dossier en faisant un "appliquer aux éléments inclus", ou bien fichier par fichier?
Nota: je ne peux ajouter le user Wheel lorsque j'ai les infos fichiers et les permissions listées.
D'abord, pour mettre bien les choses au point : le dossier '
Extensions' de la Librairie '
Système' ne devrait être bidouillé en
aucune façon, mode, forme, figure ni manière - pas plus dans le contenu de ses fichiers que dans ses droits d'accès! Il contient les
KEXTs (extensions du
kernel = noyau) qui se chargent avec lui avant l'interface de l'utilisateur, et toute perturbation grave à ce niveau ne connaît qu'une sanction : la ré-installation de l'OS après plantage.
C'est malheureusement à un tel bidouillage que tu t'es livré (je me demande bien sous l'emprise de quel
Malin Génie?) - mais apparemment pas sur le contenu des fichiers, mais sur leurs droits d'accès listés dans l'ACL.
Cela dit, quand tu déclares à propos de ce bidouillage des ACE :
Je m'en suis rendu compte un peu tard, j'ai annulé l'opération en cours
tu parais être passé pour ce faire par une
GUI (interface graphique) plutôt que par une
ligne de commande, car cette dernière s'exécute de façon tellement instante dans le «
Terminal» que je vois mal comment on pourrait y stopper une opération en train de prendre tout son temps pour s'accomplir. Enfin, bon, quoi...
Pour revenir au sujet, quand tu évoques un '
user Wheel', sache qu'il n'existe rien de tel. '
wheel' n'est pas un '
utilisateur', c'est un '
groupe', mais un groupe bien spécial, qui ne concerne que les
fichiers-système vitaux de l'OS et qui n'admet qu'un utilisateur qui est '
root', le Super-Utilisateur Système. Donc aucun autre utilisateur du Mac, même ceux qui ont des droits-admin, ne font partie du groupe '
wheel' à part '
root'. Il n'est donc possible d'intervenir au niveau des fichiers qui relèvent de '
wheel' qu'en empruntant les droits de '
root', ce qui, dans le «
Terminal», passe par la commande
sudo.
⌘
Afin de connaître les
permissions et les
ACE régulières du dossier '
Extensions', j'ai donc passé la commande sur mon Mac :
et voici le résultat pour le dossier qui nous importe :
Bloc de code:
drwxr-xr-x 254 root wheel 8636 18 aoû 06:52 Extensions
Bon, c'est clair comme de l'eau de roche : le
propriétaire du dossier est
root et il possède les droits de
lecture,
écriture et
exécution. Il fait (seul) partie du groupe de gestion-système
wheel, lequel possède les droits de
lecture et
exécution. Et les
autres, qui ne font pas partie du groupe
wheel, ont aussi des droits de
lecture et d'
exécution.
Si maintenant je vais pointer mon long nez curieux à l'intérieur de ce dossier des '
Extensions' avec la commande :
Bloc de code:
ls -l /System/Library/Extensions
j'obtiens à titre d'exemple sur une KEXT :
Bloc de code:
drwxr-xr-x 3 root wheel 102 25 aoû 2012 AppleRAIDCard.kext
Dans le dossier '
Extensions' non-bidouillé, se remarque la
constante adhérente à tous les fichiers KEXT qui est la suivante :
c'est-à-dire les
permissions spécifiques accordées au strict
propriétaire =
root et à son
groupe exclusif =
wheel, ainsi qu'à tous les
autres.
⌘
Il s'agit donc, sur ton Mac, de restituer au dossier '
Extensions' et aux
éléments qu'il comprend :
primo les
appartenances correctes ;
secundo les
permissions correctes.
Pour cela, il va falloir utiliser une commande
récursive qui va appliquer les attributs du
dossier aux
éléments qu'il contient.
Application :
Occupons-nous d'abord de la question de l'
appartenance : il faut que le seul
propriétaire du
dossier et des
éléments qu'il comprend soit
root ; et il faut que ce
propriétaire soit contenu dans son
groupe d'appartenance exclusif qui est le groupe de gestion-système =
wheel.
Nous allons donc passer la commande (dans une fenêtre du «
Terminal» in :
Applications/utilitaires, fais un copier-coller de) :
Bloc de code:
sudo chown -R root:wheel /System/Library/Extensions
et ↩ (retour-chariot = presser la touche 'Enter' du clavier pour actionner la commande). Le mot '
password' s'affiche (car c'est une commande sudo) : frapper le mot-de-passe admin à l'aveugle (aucun caractère frappé ne se montre) et derechef ↩.
['sudo' = commande root ; chown = changer 'owner' = propriétaire ; -R = fonction récursive ; root:wheel = porte sur le propriétaire + le groupe d'appartenance ; et chemin du dossier]
----------
Maintenant il faut rétablir universellement les
permissions appendues à chaque instance,
rwx pour
root,
r-x pour
wheel et
r-x pour les
autres.
Nous allons donc passer la commande :
Bloc de code:
sudo chmod -R 755 /System/Library/Extensions
et ↩ (normalement
password déjà renseigné).
['755' est la version chiffre de (r = 4) + (w = 2) + (x = 1) →
7 pour
root ; (r = 4) + (w = 0) + (x = 1) →
5 pour
wheel , et (r = 4) + (w = 0) + (x = 1) →
5 pour les
autres]
----------
La vérification :
devrait donner pour le dossier '
Extensions' :
et la commande :
Bloc de code:
ls -l /System/Library/Extensions
devrait donner pour les
KEXTs du dossier '
Extensions' :
pour chacune.
⌘