Fichiers dans le dossier Extensions - Permissions modifiées

firegroove

Membre enregistré
17 Août 2013
5
1
Bonjour!
J'ai récemment fait une fausse manip sur un de mes MacBook Pro 10.6.8.
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.

J'apprécierais grandement votre aide a ce sujet.

Merci :-))
 
Merci Moonwalker.
J'avais deja essaye. J'ai refait l'operation. Malheureusement cela n'a rien change.
J'ai tjs des fichiers qui n'ont pas la permission Wheel...

Une autre idee?

Merci!
 
Je me demande s'il n'y a pas un moyen en redémarrant sur le DVD système, après l'écran des langues aller dans la barre de menus / menu Utilitaires et… regarder (je ne suis plus sous SL :rose:)
 
mmm, oui, c'est pour faire un reset du password et des ACL du home directory....
Cela n'a rien donne pour les fichiers dans le dossier extensions qui ne se trouve pas dans le home directory...
:-S
 
Je pensais aux ACL (sans réussir à retrouver le terme). Désolé que ça n'ait rien donné…
 
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 :

Bloc de code:
ls -l /System/Library

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 :

Bloc de code:
drwxr-xr-x  root  wheel

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 :

Bloc de code:
ls -l /System/Library

devrait donner pour le dossier 'Extensions' :

Bloc de code:
drwxr-xr-x    root  wheel

et la commande :

Bloc de code:
ls -l /System/Library/Extensions

devrait donner pour les KEXTs du dossier 'Extensions' :

Bloc de code:
drwxr-xr-x  3 root  wheel

pour chacune.

⌘
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Sly54
Merci Moonwalker.
J'avais deja essaye. J'ai refait l'operation. Malheureusement cela n'a rien change.
J'ai tjs des fichiers qui n'ont pas la permission Wheel...

Une autre idee?

Merci!

J'ai testé, ça doit fontionner.

Quelques kext de tiers (non apple) pourraient résister mais pour le reste Utilitaire de disque doit remettre les propriétaires et droits corrects sur l'ensemble du répertoire /System/Library/Extensions

Si ce n'est pas le cas, m'est d'avis que t'as foutu le souk dans ton système et qu'on pourra écrire de la ligne de commande à concurrencer La Recherche que ça n'y changera rien.


Maintenant, si t'as envie de jouer du sudo tu fais comme indiqué dans la logorrhée ci-dessus que je vais résumer à l'essentiel :

Bloc de code:
sudo chown -R root:wheel /System/Library/Extensions

et éventuellement si les droits en lecture/écriture ne sont pas conformes :

Bloc de code:
sudo chmod -R 755 /System/Library/Extensions

copie/colle ça dans le Terminal ça t'evitera la faute de frappe fatale.

T'auras au moins rétabli la situation dans Extensions.


Question subsidiaire : va dans /private/var/db/receipts y vérifier que t'as encore les .bom de l'installation de ton système.

Si ce n'est plus le cas, tu réinstalles ton système à partir de ton DVD puis mises à jour (10.6.8 combinée et SecUpdates). En simple réinstallation ça ne touchera pas tes données et réglages.
 
Dernière édition:
Bonjour macomaniac,
whooooohooooo :-))))))
Non seulement ton explication etait parfaitement claire et detaillee, mais en plus de cela, ca marche 100%!!!!
Tout est rentre deans l'ordre a present, je suis RAVI!!
1000 mercis!!!

---------- Nouveau message ajouté à 17h06 ---------- Le message précédent a été envoyé à 17h05 ----------

Bonjour Moonwalker,
j'ai effectivement les .bom!
Je considere a present le problème regle.
Merci a vous tous pour cette aide o combien précieuse :-)))
 
Je pensais aux ACL (sans réussir à retrouver le terme). Désolé que ça n'ait rien donné…
Ça existe toujours sous Lion et ML, en passant par Recovery HD.

Et ça ne s'applique qu'à un dossier d'Utilisateur = c'est inclus dans l'utilitaire de réinitialisation des mots de passe (sous-entendu : ) des comptes.

Alors, pour bidouiller les droits ailleurs que dans /Utilisateurs, c'est ou le Terminal, ou BatChmod. ;)
 
  • J’aime
Réactions: Sly54