Les autorisations sont fâcheusement compliquées, souvent à cause des listes de contrôle d'accès.
PathFinder de CocoaTech fournit des informations plus complètes sur les permissions que Finder, et dispose d'une période d'essai, mais en principe, Terminal est nécessaire pour obtenir des informations complètes.
Il existe en fait trois niveaux d'obstruction au contrôle complet des fichiers dans OS X : les permissions, les listes de contrôle d'accès et les drapeaux. Le programme binaire "ls" ("list directory contents" [équivalent Unix de "dir" Windows]) nécessite des drapeaux de ligne de commande pour afficher toutes les restrictions. Après avoir lancé le Terminal, tapez :
cd /Volumes
/bin/ls -AFleO
Cela montre les permissions actuelles, les drapeaux et les entrées de la liste de contrôle d'accès pour chaque volume attaché au système d'exploitation. Sur mon système, cela donne :
drwxr-xr-x 30 root wheel - 1088 May 6 23:17 AltBoot/
drwxrwxrwx 46 root wheel - 1632 May 16 11:43 BackGround1/
drwxrwxrwx+ 37 root admin - 1326 May 24 14:07 BackGround2/
0: EBC292CE-0E64-4416-A676-288A96E46764 allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit
lrwxr-xr-x 1 root admin - 1 May 14 20:40 Ground@ -> /
drwxrwxrwx+ 13 xxxxxx staff - 510 Feb 22 17:46 GroundTM/
0: EBC292CE-0E64-4416-A676-288A96E46764 allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
drwxrwxrwx 11 xxxxxx staff - 442 Feb 22 17:46 VMware4/
Cette longue liste de caractères après "BackGround2/" est une entrée ACL. Les tirets sur la ligne de fichier sont là où les drapeaux seraient listés. L'indicateur système peut être activé en mode multi-utilisateur, mais peut UNIQUEMENT être désactivé en mode mono-utilisateur. Mon père a réussi à mettre ce drapeau sur certaines de ses photos, et il m'a fallu beaucoup de temps pour comprendre pourquoi je ne pouvais pas supprimer ou changer le propriétaire de ces fichiers. Et il n'a jamais voulu toucher à Terminal de quelque manière que ce soit.
Utilisez la commande de page manuelle man chflags
pour obtenir plus d'informations sur la façon d'activer et de désactiver les drapeaux. Si vous ne voyez que des tirets, alors aucun drapeau n'est activé.
Pour supprimer les entrées ACL, la commande dans mon exemple serait " sudo /bin/chmod -NR Background2/
", qui demandera un mot de passe administrateur. ATTENTION ! De mauvaises choses peuvent arriver lorsque vous êtes le super utilisateur. Voir man chmod
pour plus d'informations sur les entrées ACL. (Je mets /bin/ avant les commandes car seuls les programmes fournis par Apple dans le répertoire /bin peuvent affecter les ACL. Il existe des programmes GNU qui peuvent être ajoutés à OS X et qui ont les mêmes noms, mais qui ne peuvent pas présenter ou modifier les entrées ACL. Ils sont disponibles sur MacPorts MacPorts.org .