Mac OS X: Résolution de problèmes liés aux autorisations.

Ce document décrit le concept d'autorisation dans Mac OS X, des problèmes qui peuvent survenir suite à des réglages d'autorisations incorrects et comment résoudre ces problèmes.

Les autorisations sont aussi appelées "privilèges".

Cet article a été archivé et ne sera plus mis à jour par Apple.

L'utilisation de l'Utilitaire du disque pour réparer les autorisations

La plupart des utilisateurs de Mac OS X n'ont pas intentionnellement modifié les autorisations des fichiers et ont simplement besoin d'un utilitaire pour remettre les autorisations à leurs valeurs par défaut. Si vous avez Mac OS X 10.2 ou version ultérieure, cette fonctionalité est incluse dans le logiciel d'exploitation. Si vous avez Mac OS X 10.1 vous pouvez le télécharger. Pour les versions 10.0 à 10.1.4, il faut d'abord installer la mise à jour Mac OS X 10.1.5.

Pour Mac OS X 10.2 ou version ultérieure, ouvrez l'Utilitaire du disque (/Applications/Utilitaires/). Sélectionnez votre disque de démarrage dans la colonne du côté gauche de la fenêtre, puis cliquez l'onglet S.O.S. Cliquez Réparer les autorisations du disque. Il se peut qu'un message erroné s'affiche.

Si vous avez modifié le contenu du dossier /Bibliothèque/Receipts la réparation des autorisations ne fonctionnera pas comme prévu. La réparation des permissions exige des reçus (receipts) pour les logiciels installés par Apple. En plus, l'utilitaire répare seulement les logiciels et dossiers installés par Apple (ceux-ci n'inclutent pas les dossiers Départ des utilisateurs).

Pour plus d'information, voir "About Disk Utility's Repair Disk Permissions feature (Mac OS X 10.2, 10.3)".

Important : ce document décrit comment modifier les réglages d'autorisation en saisissant des commandes dans l'application Terminal. Les utilisateurs ne connaissant pas Terminal et les environnements de type UNIX doivent procéder avec soin. La saisie de commandes incorrectes peut occasionner des pertes de données et/ou rendre le système d'exploitation inutilisable. Une modification non pertinente des autorisations peut compromettre la sécurité du système et/ou exposer des données privées.

Qu'est-ce qu'une autorisation

Mac OS X intègre un sous-système basé sur un système d'exploitation de type UNIX qui utilise des autorisations pour son système de fichiers. Tous les fichiers et dossiers de votre disque dur possèdent un ensemble associé d'autorisations qui détermine qui peut les lire, les écrire ou les exécuter. En prenant un document AppleWorks comme exemple, la signification du concept d'autorisation est la suivante :

  • Lecture (r--)
    Vous pouvez ouvrir un document AppleWorks si vous possédez une autorisation de lecture pour celui-ci.
  • Ecriture (-w-)
    Vous pouvez enregistrer les changements d'un document AppleWorks si vous possédez une autorisation d'écriture pour celui-ci.
  • Exécution (--x)
    Vous pouvez ouvrir l'application AppleWorks si vous possédez une autorisation d'écriture pour celle-ci. Cette autorisation n'est pertinente que pour les applications et d'autres types de fichiers exécutables.

Si vous pouvez réaliser les trois actions qui précèdent, vous disposez d'une autorisation "rwx". Les autorisations de dossiers fonctionnent de façon similaire. Une autorisation en lecture seule d'un dossier contenant des documents vous permettra d'ouvrir et de lire ces derniers sans vous donner la possibilité de sauvegarder des changements ou d'ajouter de nouveaux documents au dossier. A titre d'exemple l'autorisation en lecture seule (r--) est souvent utilisée pour partager des fichiers avec des utilisateurs invités.

Possesseur, groupe, autres

Les abréviations comme "rwx" et "r-x" décrivent les autorisations d'un seul utilisateur ou d'une seule entité. Les autorisations attribuées à chaque fichier ou dossier définissent leur possibilité d'accès par trois entités : possesseur, groupe et autres.

  • Possesseur - Le possesseur est la plupart du temps l'utilisateur qui a créé le fichier. La plupart des fichiers et dossiers de votre répertoire Départ indiquent votre nom dans leur champ Possesseur.
  • Groupe - Les utilisateurs Admin de Mac OS X font partie des groupes appelés "admin" et "wheel," alors que le super utilisateur, appelé "root", est membre des groupes appelés "admin" et "staff". Le plus souvent, tous les fichiers et dossiers sont assignés à l'un de ces trois groupes.
  • Autres - Autres concerne tous les autres utilisateurs n'étant pas des possesseurs ou ne faisant pas partie du groupe d'un dossier ou d'un fichier.

Dans la mesure où chaque entité dispose de ses propres autorisations, un exemple d'ensemble complet d'autorisations pourrait ressembler à "-rwxrw-r--". Le premier tiret indique que l'article est un fichier et non un dossier. Les privilèges des dossiers débutent par "d", comme dans "drwxrw-r--". Le "d" signifie "répertoire" (directory), la terminologie UNIX pour le concept de "dossier". La Figure 2 ci-dessous représente la façon dont ces informations s'affichent dans l'application Terminal.

Exemple : création d'un document TextEdit

Créons un document TextEdit et sauvegardons-le dans le dossier Documents de notre répertoire Départ. Ce document possède les privilèges "-rw-r--r--", vous permettant de lire et d'écrire le fichier, le groupe assigné et tous les autres utilisateurs ne pouvant que le lire. Les autorisations du dossier qui contient ce fichier sont en effet prioritaires par rapport à celles du fichier lui-même. C'est de cette façon que la structure du répertoire Départ de Mac OS X assure une parfaite confidentialité. Si vous faites glisser le fichier dans votre dossier Public (drwxr-xr-x) puis que vous fermiez la session, un autre utilisateur pourra ouvrir une session sur l'ordinateur et lire votre fichier public.

Autorisations par défaut pour les fichiers et dossiers que vous créez

Valeurs de possession

  • Utilisateur est l'utilisateur qui a crée le ficher ou dossier.
  • Groupe est le group du dossier qui contient le fichier ou son répertoire.

Autorisations

  • Dossiers ou répertoires : drwxr-xr-x
  • Fichiers: -rw-r--r--

Root : le "super utilisateur"

Dans Mac OS X, un super utilisateur appelé "root" est créé lors de l'installation du système. L'utilisateur root dispose d'un accès complet à tous les fichiers et dossiers de l'ordinateur, mais aussi à des tâches d'administration non accessibles aux utilisateurs normaux. Dans l'utilisation quotidienne de votre ordinateur, vous n'avez pas besoin d'ouvrir une session en tant qu'utilisateur root. En effet, l'utilisateur root est désactivé par défaut.

Problèmes relatifs aux autorisations

Des réglages incorrects d'autorisation peuvent provoquer un comportement imprévisible de l'ordinateur. En voici quelques exemples accompagnés de suggestions de dépannage :

  • Programmes d'installation d'applications et dossier Applications
    Un programme d'installation d'applications non-Apple peut attribuer des autorisations incorrectes à certains fichiers qu'il installe, ou même à l'intégralité du contenu du dossier Applications. Parmi les symptômes trahissant ce problème figurent des points d'interrogation dans le Dock et/ou l'impossibilité de se connecter à Internet. Il est également possible qu'un logiciel installé dans une session d'utilisateur soit disponible dans d'autres sessions. Pour éviter ce problème, assurez-vous d'ouvrir la session avec votre compte d'utilisateur normal lorsque vous installez des logiciels devant être uniquement disponibles dans votre compte.
  • Fichiers créés dans Mac OS 9
    Les fichiers créés dans Mac OS 9 peuvent apparaître dans Mac OS X avec un possesseur root. Lorsque vous démarrez sous Mac OS 9 un ordinateur également équipé de Mac OS X, vous pouvez voir, déplacer et effacer tous les fichiers, ce qui vous procure des autorisations comparables à celles d'un utilisateur root. Pour cette raison, nous vous conseillons de ne pas déplacer ni d'ouvrir des fichiers ou des dossiers non familiers après avoir démarré sous Mac OS 9.
  • Interruption d'alimentation
    Le système de fichiers peut être affecté par une interruption d'alimentation (extinction non appropriée) ou lorsque l'ordinateur cesse de répondre ("gel" du système). Un tel événement peut affecter les autorisations. Pour résoudre ce problème, vous avez recours à fsck.
  • Accès logiciel = accès utilisateur
    La plupart des applications exécutées par un utilisateur ont uniquement accès aux fichiers auxquels peut accéder l'utilisateur. Les logiciels de sauvegarde, par exemple, pourraient ne pas sauvegarder les fichiers système de Mac OS X qui sont assignés à un possesseur root.
  • Vider la Corbeille
    Dans certaines circonstances, les dossiers pour lesquelles vous n'avez pas d'autorisation d'écriture peuvent finir dans la Corbeille, sans que vous soyez capables de les effacer ou d'effacer les fichiers qu'ils contiennent. Souvenez-vous que Mac OS X n'inclut pas qu'un seul dossier Corbeille. En effet, chaque utilisateur dispose d'un dossier Corbeille dans son répertoire Départ. Un dossier Corbeille est également présent sur le volume de démarrage, ainsi que sur tous les autres volumes et disques. Quand un utilisateur glisse un dossier dans la Corbeille sur un volume local de non-démarrage, le nom du dossier sur ce volume est "/.Trashes/UID ", où UID est le nombre d'identification de l'utilisateur (qui est visible dans l'utilitaire Gestionnaire NetInfo). Tous ces dossiers sont intitulés ".Trash" et sont invisibles pour l'utilisateur dans le Finder. Dans cette situation, vous pouvez soit démarrer sous Mac OS 9 pour localiser les fichiers et les effacer, soit utiliser l'application Terminal pour le faire. Les problèmes à vider la Corbeille sont moins fréquents dans Mac OS X 10.2 ou version ultérieure, car le Finder vide la Corbeille en tant qu'utilisateur root. Cependant, vous pouvez toujours rencontrer des problèmes avec les disque non-locals (CD-R, FireWire, etc) pour lesquels l'utilisateur root local n'a pas d'autorisation spécial.

Avertissement : Des fautes de frappe ou abus de la commande "rm -rf" peut entrainer la perte de données. L'insertion d'un espace dans un mauvais endroit pu avoir comme conséquence la suppression complète des données sur votre disque dur, par exemple. Vous pouvez souhaiter copier et coller les commandes ci-dessous dans un éditeur de texte de vérifier l'espacement. Suivez ces étapes pour vider la Corbeille de l'utilisateur actuel (qui a ouvert un session):

  1. Ouvrez l'application Terminal.
  2. Tapez : sudo rm -rf

    Remarque : tapez un espace après "-rf". La commande ne fonctionne pas sans cet espace. N'appuyez pas sur la touche d'entrée avant d'avoir atteint l'étape 6.

  3. Ouvrez votre Corbeille.
  4. Choisissez Tout sélectionner dans le menu Edition.
  5. Glissez tous les articles de votre Corbeille dans la fenêtre Terminal. Celle-ci se remplie automatiquement du nom et du chemin d'accès de chaque article de la Corbeille.
  6. Appuyez sur la touche d'entrée.

Tous les articles de votre Corbeille sont effacés. Une seconde méthode consiste à exécuter les commandes ci-dessous. Les seconde et troisième commandes effaceront les Corbeilles appartenant aux autres utilisateurs. Les commandes sont les suivantes :

Important : Il n'y a aucun espace entre "/"et ".Trash" ou ".Trashes" ci-dessous.

sudo rm -rf ~/.Trash/
sudo rm -rf /.Trashes/
sudo rm -rf /Volumes/<nomduvolume>/.Trashes/

Ces deux méthodes effacent définitivement tous les fichiers des Corbeilles de l'utilisateur actif, du volume de démarrage et des autres volumes (le cas échéant). Ces commandes ne peuvent pas effacer les fichiers verrouillés.

Remarque : la commande sudo peut être utilisée de façon temporaire pour obtenir le statut de super utilisateur et modifier les autorisations de fichiers qui ne peuvent pas être modifiées autrement. Cette commande n'est disponible que si vous avez ouvert une session en tant qu'utilisateur Admin, nécessitant par conséquent un mot de passe d'authentification d'utilisateur Admin.

Comment contrôler et modifier les autorisations dans les fenêtres Infos du Finder

Le Finder de Mac OS X peut être utilisé pour contrôler et modifier les autorisations de certains fichiers et dossiers. Vous pouvez uniquement modifier les autorisations des fichiers et dossiers dont vous êtes le possesseur. Cela peut vous aider à résoudre des problèmes relatifs aux autorisations. Pour contrôler et modifier les autorisations dans les fenêtres Infos, procédez comme suit :

  1. Sélectionnez un fichier ou un dossier dans le Finder.
  2. Choisissez Afficher les infos dans le menu Fichier.
  3. Choisissez Autorisations dans le menu déroulant de la fenêtre Infos.
  4. En utilisant les menus déroulants de la partie inférieure de la fenêtre, modifiez les autorisations comme vous le désirez (Figure 1).
  5. Facultatif : si vous modifiez les autorisations d'un dossier et que vous voulez que les changements s'appliquent aussi à tous les dossiers inclus, cliquez sur Appliquer. Le bouton Appliquer ne s'affiche que dans les fenêtres Infos des dossiers.

Remarque : les changements effectués via la fenêtre Infos prennent effet immédiatement, même avant la fermeture de la fenêtre.





Figure 1 Privilèges de la fenêtre Infos

Contrôler et modifier les autorisations avec Terminal

L'application Terminal se situe dans le dossier Utility du dossier Applications. Vous pouvez utiliser Terminal pour contrôler ou modifier les autorisations. A la différence de la fenêtre Infos, la commande sudo vous permet de posséder des privilèges de type root sans avoir à fermer la session ou en rouvrir une autre en tant que super utilisateur.

Attention : un connaissance de base de la ligne de commande est nécessaire pour utiliser cet outil. L'utilisation inappropriée de l'application Terminal peut occasionner des pertes de données et/ou rendre inutilisable le système d'exploitation.

Pour modifier les autorisations d'un fichier ou d'un dossier, ouvrez Terminal et naviguez jusqu'au répertoire dans lequel se situe le fichier ou dossier en question. Ensuite, exécutez la commande "ls -l". L'affichage de Terminal ressemble alors à la Figure 2.





Figure 2 Contrôle des autorisations avec Terminal

Dans l'exemple de la Figure 2, tout utilisateur peut lire "File Name1.ext", parce que le signe de lecture (r) est réglé sur Autres autorisations. Cependant, le fichier peut être uniquement modifié par root parce que le signe d'écriture (w) est seulement une activité pour le possesseur, qui est root. S'il ne s'agit pas d'un fichier système et que vous souhaitez le modifier depuis un compte d'utilisateur normal, vous pourriez changer le possesseur en tapant la commande suivante :

sudo chown votrenomdutilisateur "File Name1.ext"

Le fichier étant possédé par root, et non par l'utilisateur actif, la commande "sudo" vous procure des privilèges root temporaires. Remplacez votrenomdutilisateur par la version courte du nom d'utilisateur à partir duquel vous avez ouvert la session.

Syntaxe des espaces : faites attention lorsque vous tapez des espaces dans le chemin d'accès des fichiers à l'intérieur du Terminal. Dans l'exemple, le nom du fichier est encadré par des guillemets parce qu'il contient des espaces. Vous pouvez aussi remplacer les espaces par un antislash suivi d'un espace. Sans les guillemets, la même commande se rédigerait comme ceci :

sudo chown votrenomdutilisateur File Name1.ext

Pour en savoir plus sur les modifications de possession, des groupes et des autorisations, consultez les pages man (manuel) de chown, chgrp et chmod. Pour accéder aux pages man, exécutez la commande "man <command_name>". Par exemple :

man chmod

Par défaut, une seule page man s'affiche à la fois. Pour continuer à la page suivante, appuyez sur la barre d'espace. Pour sortir des pages man, appuyez sur Q.

Date de publication: