Comment dois-je corriger les propriétaires et les autorisations dans un dossier utilisateur OS X?

9

Mon problème est que j'ai sérieusement détruit tous les propriétaires et autorisations sur mon dossier utilisateur et ses sous-dossiers et cela cause beaucoup de problèmes en utilisant beaucoup d'applications.

La raison initiale était que j'avais renommé un utilisateur en suivant les instructions de support Apple sur http://support.apple.com/kb/HT1428

Une fois le nouvel utilisateur configuré, Mozy backup ne sauvegardait plus et beaucoup de mes applications ne pouvaient pas se mettre à jour automatiquement. L'application a généralement recommencé à fonctionner si j'ai supprimé le programme incriminé et l'ai réinstallé. Je pensais que c'était parce que les autorisations étaient incorrectes et j'ai trouvé des endroits où GetInfo a indiqué que les autorisations faisaient référence à l'ancien utilisateur. Parfois, la boîte de dialogue disait simplement "Récupération" pour le nom d'utilisateur et n'était jamais mise à jour pour autre chose.

J'ai exécuté Onyx "autorisations fixes" et utilitaire de disque "autorisations de réparation" sans résultat. Avec "Autorisations de réparation", il continue de lancer des avertissements sur les ACL inattendus, mais les informations que je pouvais trouver en ligne ne pensaient pas que cela causerait des problèmes comme celui-ci.

J'ai essayé d'exécuter récursivement certains scripts de ligne de commande sur les dossiers utilisateur (à la fois connecté en tant que root et en utilisant sudo). chmod a eu beaucoup d'erreurs sur le fait que le propriétaire des fichiers s'est trompé. chown après cela m'a donné d'autres erreurs (je ne me souviens pas exactement ce qu'elles étaient). Dans une crise de panique, j'ai fait un clic droit sur l'ensemble du dossier utilisateur et j'ai choisi d'appliquer ses autorisations à tous les enfants.

D'après ce que je peux dire, quand j'ai fait cela, j'ai tout réglé en lecture et écriture pour cet utilisateur et en lecture seule pour « tout le monde » et « personnel ». Maintenant, je suis pire qu'avant. Firefox s'est écrasé et il ne peut même pas mettre à jour ses propres paramètres, il affiche donc "Voulez-vous restaurer ces onglets" à chaque fois qu'il se lance, même après avoir dit à plusieurs reprises "Démarrer une nouvelle session".

Fondamentalement, tout dans mon dossier utilisateur est cassé en ce qui concerne le propriétaire et les autorisations et j'ai besoin de savoir ce qu'ils sont censés être. Qui est le propriétaire des fichiers de chaque répertoire (Téléchargements, Applications, etc.) et quelles devraient être les autorisations? Compte tenu de ces autorisations et propriétaires, quelle est la meilleure façon de les régler correctement?

J'ai vu une question similaire à celle-ci lors de la réinitialisation des autorisations utilisateur à leur mode par défaut, mais elle ne concerne que les autorisations, pas les propriétaires, ce qui a déjà été un problème.

Je ne sais pas si la réinstallation du système d'exploitation sur la copie que je possède actuellement résoudrait quoi que ce soit et je suis près d'appeler le support Apple si je ne trouve rien dans les prochains jours. Merci pour toute aide.

cisellis
la source
Avez-vous au moins compris comment cela s'est produit? Qu'est-ce qui ne va pas? ACL, métadonnées ou autorisations UNIX traditionnelles. Il est difficile de tout couvrir en une seule réponse - en particulier en réinitialisant les bits immuables si nécessaire.
bmike
Et pour faciliter le dépannage, j'installe le système d'exploitation sur un disque externe, démarre à partir de celui-ci et monte votre disque "problème" pour ignorer les autorisations et voir si rsync ou quelque chose vous permettra d'obtenir les fichiers dans un état plus propre. Ensuite, vous pouvez supprimer l'utilisateur et recopier les éléments - en respectant la liste de contrôle d'accès du nouvel utilisateur et les autorisations sur les dossiers dans ~ - en prenant soin de déplacer le contenu de ~/Library/et pas ~/Librarylui-même.
bmike
Je ne suis pas sûr autre que ce que j'ai tapé ci-dessus. J'apprécie les suggestions mais je ne suis pas un grand utilisateur. Si c'est plus compliqué que quelques lignes de commande ou utilitaires, je vais juste abandonner et restaurer à partir d'une sauvegarde Time Machine.
cisellis
Bon plan. Vous pouvez obtenir de l'aide d'un technicien si nécessaire une fois votre sauvegarde restaurée - généralement, vous pouvez alors avoir une courte liste de choses obsolètes ou manquantes. Je suis content que vous ayez une sauvegarde :-)
bmike

Réponses:

10

La première étape que je recommanderais est d'essayer de réinitialiser les autorisations de votre dossier de départ avec l'utilitaire Reset Password dans Lion Recovery. (Malgré le nom de l'utilitaire, vous ne réinitialiserez en fait aucun mot de passe.)

La réinitialisation des autorisations du dossier de départ avec l'utilitaire Réinitialiser le mot de passe réinitialise à la fois le propriétaire et les autorisations.

  1. Redémarrez votre Mac en maintenant + Rpour démarrer dans Lion Recovery, ce qui vous amènera à l'écran Repair Utilities.

  2. Ouvrez Terminal à partir du menu Utilitaires.

  3. Dans Terminal, entrez resetpasswordpour ouvrir l'utilitaire Reset Password.

  4. Choisissez l'icône de votre disque dur en haut, puis choisissez votre utilisateur dans le menu déroulant ci-dessous. Ne réinitialisez pas le mot de passe ici.

  5. Au bas de la fenêtre, sous "Réinitialiser les autorisations et les ACL du répertoire personnel", cliquez sur le bouton "Réinitialiser". Cela peut prendre un certain temps si vous avez beaucoup de fichiers dans votre dossier personnel.

Cela devrait résoudre vos problèmes d'autorisations pour la plupart des applications. Cependant, il est possible que vous ayez quelques applications qui avaient enregistré des fichiers avec des autorisations spéciales qui sont différentes des autorisations par défaut de l'utilisateur (comme les préférences ou les fichiers de support d'application). Pour ces applications, vous devrez peut-être supprimer leurs préférences ou réinstaller l'application.

Si la réinitialisation des autorisations de votre dossier de départ ne fonctionne pas, vous devrez peut-être essayer de restaurer à partir d'une sauvegarde ou de transférer vos données sur un disque externe.

joelseph
la source
J'essaye ça maintenant. Jusqu'à présent, cela fonctionne depuis environ 12 heures. J'ai beaucoup de fichiers: P
cisellis
Cela n'a pas fonctionné. L'opération a duré plus de 48 heures avant d'abandonner et de l'arrêter. Cela a peut-être fini à un moment donné, mais il n'y avait aucun moyen de le savoir.
cisellis
3

Lance ça

cd $HOME
{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; \
sudo chown -R $UID:staff ~ $_ ; \
sudo chmod -R -N ~ $_ ; \
sudo chmod -R 755 ~ $_ ; \
sudo chmod 700 Desktop Documents Downloads Dropbox Library Movies Music Pictures Sites $_ ; \
sudo chmod 777 Public ; \
sudo chmod 733 Public/Drop\ Box ; \
} 2> /dev/null
davidcondrey
la source
Exactement ce que je cherchais! Fonctionne si vous pouvez vous connecter à l'utilisateur en question et que cet utilisateur est également un administrateur. Que diriez-vous de réparer le répertoire personnel d'un autre utilisateur à partir d'un autre compte? (l'utilisateur ayant des problèmes d'autorisation peut ou non être un administrateur)
unom
Redémarrez l'ordinateur à l'aide de la combinaison de touches de démarrage Cmd + R pour ouvrir l'utilitaire de réparation, ouvrez Terminal dans le menu Utilitaires, utilisez la commande resetpassword, sélectionnez le disque dur et le compte d'utilisateur correspondant dans le menu déroulant qui s'ouvrira, sélectionnez réinitialiser pour réinitialiser les autorisations du répertoire de base et les ACL du compte d'utilisateur sélectionné.
davidcondrey
2

Vos problèmes sont fondamentalement les mêmes. Il n'y a pas de norme pour les autorisations pour les fichiers de votre répertoire personnel, ils dépendent tous de leur utilisation.

La correction des autorisations des applications et des scripts et des installations du système d'exploitation ne devrait pas du tout affecter la zone utilisateur, sauf peut-être la modification des autorisations sur le répertoire de base. Les installations du système d'exploitation et la plupart des scripts d'autorisations de correction comparent les autorisations et les propriétaires à ce qui est requis pour une installation propre et cela n'a pas d'utilisateurs normaux. S'ils le faisaient, je considérerais cela comme un bug majeur.

Le correctif consiste à changer le propriétaire des fichiers, c'est-à-dire à utiliser chown sur votre répertoire personnel. Le propriétaire doit être le nouveau nom du propriétaire.

Il n'y a aucun moyen général de récupérer les autorisations car les fichiers individuels dépendent de leur application et toutes les applications peuvent être différentes.

Ainsi, la seule façon est de restaurer à partir d'une sauvegarde avant le changement - effectuez le changement selon les notes des pommes, puis affichez tous les fichiers. Ou regardez chaque fichier individuel et déterminez les autorisations qu'il devrait avoir - pour la plupart des fichiers de votre répertoire personnel, cela devrait être en lecture / écriture pour le propriétaire et rien (ou en lecture seule) pour les autres. Les répertoires auront également besoin d'une autorisation d'exécution pour pouvoir être répertoriés. Les applications auront besoin d'autres autorisations.

user151019
la source
Bien. Je venais de vérifier mon répertoire personnel et tellement de 777répertoires et je m'inquiétais.
nyxee
@nyxee c'est bizarre je m'attendrais à 755 ou 700
user151019
très .... Je vais commencer à éditer les autorisations une par une très très lentement ..
nyxee
1

Nous avons rencontré les mêmes problèmes avec plusieurs utilisateurs. Après avoir essayé sans succès tout ce qui concerne la fixation des autorisations, nous avons trouvé une solution. Par souci de clarté, l'utilisateur problématique est John Doe et le compte utilisateur (et le répertoire personnel) est appelé "johndoe".

  1. Assurez-vous que votre utilisateur root est activé. Se déconnecter
  2. Connectez-vous en tant que root et effectuez une sauvegarde du dossier de départ johndoe (la création d'une sauvegarde du dossier de départ est facultative, mais fortement recommandée en cas de problème)
  3. Ouvrez les Préférences Système / Utilisateurs et Groupes
  4. Supprimez l'utilisateur johndoe - vous serez invité à faire quoi avec le répertoire d'accueil de johndoe
  5. IMPORTANT: choisissez de ne pas supprimer le répertoire
  6. Allez dans / Users et notez que le dossier de johndoe a été renommé "john doe (supprimé)"; renommer le répertoire personnel en "johndoe"
  7. Revenez à Préférences Système / Utilisateurs et groupes et recréez le compte de John Doe
  8. IMPORTANT: assurez-vous que le nom de compte de l'utilisateur est le "john doe", ou exactement ce que vous avez nommé le répertoire personnel à l'étape 6
  9. Vous serez invité à indiquer que le répertoire personnel portant ce nom existe déjà et si vous souhaitez utiliser le répertoire personnel existant
  10. Choisissez oui
  11. Redémarrez et connectez-vous en tant que John Doe
pocho
la source
Je veux juste te remercier. Cela a fonctionné dans Snow Lion (l'ordinateur de ma femme) après l'échec de tentatives beaucoup plus élaborées, par exemple macissues.com/2014/04/11/…
Steve Samuels
0

J'ajoute une seule réponse pour tout aborder. Quoi que je fasse avec les permissions, c'était complètement foutu. J'ai essayé la première réponse, en démarrant en mode de récupération et en réinitialisant les autorisations via la méthode de réinitialisation du mot de passe, mais cela a fonctionné pendant 48 heures avant de le tuer et n'a eu aucun effet perceptible. J'ai essayé de restaurer à partir de Time Machine et cela a également explosé et je n'ai pas pu restaurer la sauvegarde.

J'ai fini par tout sauvegarder manuellement sur un disque externe, à formater l'intégralité du disque et à réinstaller Lion, à tout réinstaller manuellement et à copier mes données personnelles, telles que la bibliothèque iPhoto et les bibliothèques iTunes, manuellement. iPhoto a dû réparer la bibliothèque mais a bien fonctionné et je n'ai eu aucun problème. iTunes n'a pas pu ajouter de musique à la bibliothèque jusqu'à ce que j'utilise à nouveau l'Utilitaire de disque pour réparer les autorisations. Comme je n'ai copié que le répertoire iTunes Media et non le répertoire parent, il semblait tout réparer.

Morale de l'histoire: Oubliez Apple, ne renommez pas les utilisateurs.

cisellis
la source
0

Ce n'est pas du tout un problème de permission! Rien de ce que vous faites avec les autorisations ne le résoudra car les autorisations sont déjà définies en lecture / écriture, ce qui est aussi permissif que possible.

C'est un problème de propriétaire; le système ne sait pas à qui appartient le fichier et ne peut pas résoudre le dilemme. Ajoutez-vous en tant que nouveau propriétaire, accordez-vous des autorisations de lecture / écriture, puis supprimez l'utilisateur de «récupération» incriminé.

Gib Henry
la source
0

La fonction de réinitialisation des autorisations de l'Utilitaire de disque n'affecte pas votre répertoire personnel, elle ne fonctionnera donc pas ici. Mais il dispose également d'un deuxième outil de réinitialisation des autorisations cachées pour votre répertoire personnel. Vous l'utilisez depuis Terminal, comme ceci:

diskutil resetUserPermissions / $(id -u)

(Source: https://support.apple.com/en-us/HT203538 )

SilverWolf - Rétablir Monica
la source