Question Correction / Correction des autorisations de fichiers du dossier de base OS X


En résumé, j'ai réussi à ranger les permissions de fichiers dans mon répertoire personnel sous OS X (Lion). Bien que je sois suffisamment familiarisé avec les autorisations de fichiers Linux et plus que confortable pour les modifier, je ne parviens pas à obtenir la bonne combinaison de permissions et / ou de commandes pour les modifier de manière appropriée.

Avant de continuer cependant, je dois mentionner que j'ai une configuration légèrement différente pour une installation standard. Mon disque dur est partitionné en deux disques, Système et Utilisateur.

Mon dossier personnel est situé dans Utilisateurs / [nom d'utilisateur] sur le lecteur utilisateur, c.-à-d. Lorsque les deux lecteurs sont correctement montés, ils sont accessibles à / Volumes / User / Users / [nom d'utilisateur]. Dans / User /, j'ai un lien symbolique [nom d'utilisateur] qui pointe vers // Volumes / User / Users / [nom d'utilisateur] et cela a fonctionné comme je le voulais.

J'ai essayé les deux articles suivants trouvés ici et ici seulement moi-même en dehors de mon propre répertoire personnel. En attendant, je les ai remplacés par un accès global afin que je puisse les utiliser, mais je voudrais régler le problème.


4
2017-10-31 00:47


origine


Ce poste CNET est probablement très destructeur. Vous perdez l'accès (indicateur exécutable) à tous les répertoires de votre domicile. Je parie que ce type n'a jamais tenté de faire ce qu'il a écrit. - Daniel Beck♦


Réponses:


Tout d'abord, assurez-vous d'être propriétaire de votre dossier personnel (remarque: je suppose que vous exécutez cela depuis votre propre compte utilisateur et que vous êtes un administrateur):

sudo chown -R $USER:staff ~

Ensuite, donnez-vous un accès correct et personne d'autre n'a accès (nous ferons quelques exceptions plus tard). Notez qu'il s'agit de deux commandes pour vous assurer que l'accès à l'exécution est ajouté aux répertoires, mais pas aux fichiers simples:

chmod -R 600 ~
chmod -R u+rwX ~

Maintenant, accordez un accès en lecture aux autres pour les répertoires auxquels ils sont censés avoir accès. Si vous ne possédez pas de dossier sites, vous pouvez le laisser de la deuxième commande:

chmod og+rX ~
chmod -R og+rX ~/Public ~/Sites

Apple aime avoir des entrées de contrôle d'accès pour vous empêcher de jouer avec des parties "importantes" de votre dossier personnel. Encore une fois, si vous ne possédez pas de sites, vous pouvez l’abandonner (ne pas omettre la bibliothèque; elle est invisible, mais elle est là):

chmod +a "group:everyone deny delete" ~ ~/Desktop ~/Documents ~/Downloads ~/Library ~/Movies ~/Music ~/Pictures ~/Public ~/Sites

Enfin, corrigez votre Drop Box:

chmod og=wX ~/Public/Drop\ Box
chmod +a "user:$USER allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" ~/Public/Drop\ Box

Notez que cette procédure ne "corrigera" pas correctement les autorisations sur les fichiers à l'intérieur de vos différents dossiers, mais cela n'a pas vraiment d'importance, car cela vous donne un accès complet et personne d'autre ne peut accéder aux dossiers ...


3
2017-10-31 04:57



Faire ce que vous proposez va casser des choses. Vous supprimerez les droits d'exécution des fichiers binaires. Les widgets du tableau de bord, les programmes en ~/Applications, les services vont tous casser. Probablement un peu plus. - Daniel Beck♦
Je vous suggère d'ignorer le deuxième extrait de code et d'inverser le troisième, c'est-à-dire à emporter (de manière non récursive) go-rwx pour les documents, la musique, etc. (ceux qui sont créés par défaut). - Daniel Beck♦
@Daniel Beck: La plupart des utilisateurs d'OS X n'ont pas de dossier Applications utilisateur (ni de dossier binaire personnel, ni ...). Je n'avais pas pensé aux services, cependant. Appelez cela une bizarrerie de personnalité, mais je n'aime pas que les autorisations d'exécution soient activées sur les non-exécutables, et je devrais plutôt réparer le fichier occasionnel qui en a besoin plutôt que de le configurer sur tout. Vous pouvez trouver des exécutables avec find ~ -type f -print0 | xargs -0 file | grep executable et ensuite ajouter exécuter pour eux (chmod u+x /path/to/file) individuellement. - Gordon Davisson
@Daniel Beck: Quant à savoir s'il faut supprimer l'accès au groupe + à tout et l'ajouter sélectivement, ou le supprimer de manière sélective, je ne pense pas qu'il y ait vraiment une bonne réponse: effacer les autorisations d'origine détruit les informations, arrière. Votre approche laisse probablement la plupart des fichiers plus proches de leurs autorisations d'origine, mais au risque de donner accès à des choses qui devraient ne pas être lisible, comme ~ / .ssh - Gordon Davisson
Drag & Drop et les programmes par défaut sont tous deux liés aux services de lancement; vérifier ses préférences (ls -le ~/Library/Preferences/com.apple.LaunchServices*) et pour les services devant être exécutables (voir le find commande que j'ai donnée ci-dessus). BTW, pour une raison quelconque, l'autorisation d'exécution semble être définie pour les fichiers de verrouillage de préférence, donc peut-être en cours d'exécution chmod u+x ~/Library/Preferences/*.lockfile aiderait. - Gordon Davisson


Pour réinitialiser les autorisations de fichier et les listes de contrôle d'accès (ACL) du répertoire de base de votre utilisateur à leurs paramètres par défaut, procédez comme suit:

  1. Démarrez en mode de récupération en maintenant les touches Commande et R enfoncées lors du démarrage
  2. Ouvrez le terminal (sous le menu Utilitaires)
  3. Type resetpassword dans le terminal et appuyez sur Retour.
  4. Dans la fenêtre de l'utilitaire Réinitialiser le mot de passe, choisissez le volume approprié. En bas, vous verrez une zone intitulée "Réinitialiser les autorisations des dossiers personnels et les listes de contrôle d'accès". Cliquez sur le bouton Réinitialiser dans cette zone.
  5. Fermez les fenêtres, rapide OS X Utilities, redémarrez.

4
2017-12-22 22:17





Réparez les autorisations de disque en ouvrant l'Utilitaire de disque, en sélectionnant le lecteur, puis en cliquant sur Réparer les autorisations du disque.


1
2017-10-31 01:59



Dans Utilitaire de disque, je sélectionne la partition "Utilisateur" et je n'ai pas la possibilité de corriger les autorisations (elle est désactivée). - achinda99
Réparer les autorisations de disque corrige uniquement les autorisations sur les fichiers système, pas les fichiers utilisateur. - Gordon Davisson


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

1
2018-06-23 20:40



Je suppose que vous avez utilisé Linc procédure standard comme point de départ: discussions.apple.com/thread/5275515?tstart=0 - ylluminate


Après beaucoup d'efforts et de recherches:

Bien que ce ne soit pas parfait, je viens d'utiliser la fenêtre Obtenir des informations sur le dossier de base. Il a montré "read / write" pour l'utilisateur, "read only" pour l'administrateur et "no access" pour tout le monde. Semblait assez bien pour moi.

J'ai ensuite exécuté l'option dans le menu des engrenages pour l'appliquer à tous les éléments inclus.

Accès restauré à tout! Moins d'une minute (sur mon SSD).

Alléluia! * standard, pas admin


0
2017-07-07 01:29