2 votes

Comment récupérer de "chown -R $USER /usr/"?

J'ai exécuté un 'chown' sur tout ce qui se trouve sous /usr à un utilisateur non root. Je voulais l'exécuter pour /usr/local/ Maintenant j'obtiens l'erreur ci-dessous en ouvrant le terminal

login(89809,0x7fff7bac5960) malloc: *** error for object 0x7fc7cb500b40: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

[Process completed]

4voto

Fuzzy Purple Monkey Points 702

Si vous ne pouvez pas restaurer /usr/ à partir d'une sauvegarde, vous pourriez d'abord démarrer en mode utilisateur unique (en maintenant la touche cmd-S au démarrage) et exécuter chown -R root /usr/.

Sur mon installation, tous les fichiers sous /usr/local/ étaient possédés soit par root, soit par moi, quelques fichiers sous /usr/ étaient possédés par _uucp, et tous les autres fichiers sous /usr/ étaient possédés par root :

$ sudo find /usr/local ! -user root ! -user $USER
$ sudo find /usr/!(local) ! -user root -print0|xargs -0 stat -f '%Su %N'
_uucp /usr/bin/cu
_uucp /usr/bin/uucp
_uucp /usr/bin/uuname
_uucp /usr/bin/uustat
_uucp /usr/bin/uux
_uucp /usr/sbin/uucico
_uucp /usr/sbin/uuxqt
_uucp /usr/share/uucp

Ceci changerait le propriétaire des fichiers uucp :

sudo chown _uucp /usr/bin/{cu,uucp,uuname,uustat,uux} /usr/sbin/{uucico,uuxqt} /usr/share/uucp

/usr/local/ n'existe pas sur une installation fraîche d'OS X. Si vous utilisiez uniquement /usr/local/ avec Homebrew, vous pourriez supprimer /usr/local/ puis réinstaller Homebrew.

Alternativement, vous pourriez utiliser Pacifist pour copier le /usr/ par défaut à partir d'un programme d'installation OS X téléchargé depuis l'App Store. Effectuer une mise à jour d'OS X depuis la partition de récupération ou passer à 10.9 pourrait également restaurer les propriétaires de certains fichiers.

2voto

yoliho Points 340

Je pense que c'est un cas où Réparer les autorisations fait réellement quelque chose d'utile. Cela restaurera les autorisations correctes à tous les fichiers fournis par Apple, ce qui est le cas de tous sauf ceux de /usr/local. Ce répertoire contient des éléments que vous avez ajoutés et que vous devriez donc pouvoir recréer.

Pour réparer les autorisations, utilisez Utilitaire de disque.app et sélectionnez le disque de démarrage dans la liste des disques à gauche. Il y aura des boutons pour Vérifier ou Réparer les autorisations du disque.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X