Flags et attributs étendus MacOS X
Le mercredi 4 février 2009 à 21:42 - Lien permanent
Outre les attributs classiques Unix, MacOS X possède des flags et attributs étendus qui peuvent faire perdre leur latin aux Unixiens... Exemple : il vous est impossible de supprimer un fichier. Pourtant, un ls -la
vous confirme que le fichier et le répertoire vous appartiennent, et que vous avez dessus les droits en écriture. Vous ne comprenez pas. Vous essayez de passer root pour forcer les choses et... root ne peut pas non plus supprimer le fichier ! Que se passe-t-il ?
Flags
Des drapeaux peuvent être positionnés sur les fichiers. Notamment, il existe un drapeau uchg
qui explique le problème ci-dessus. Le drapeau uchg
verrouille complètement un fichier. Dans le GUI, il correspond à la case « Verrouiller » de la boîte d'infos du fichier. Pour pouvoir supprimer le fichier dans l'exemple ci-dessus, il faut d'abord retirer le flag uchg
.
Pour afficher les flags des fichiers, les options de ls
sont :
ls -lO
La modification de ces flags se fait avec la commande chflags
, suivie du nom d'un drapeau pour l'ajout, ou du nom préfixé de no
pour la suppression. Exemple (-R
pour récursif) :
chflags -R nouchg répertoire
Attributs étendus HFS+
Les fichiers peuvent également posséder des attributs étendus. Par exemple, l'attribut com.apple.quarantine
signale les fichiers récemment téléchargés. On peut afficher les attributs étendus par la commande :
ls -l@
La commande xattr
permet de lister, ajouter et modifier les attributs. Par exemple, pour afficher les attributs et leurs valeurs, on peut utiliser :
xattr -l fichier
⇒ Article d'Ars Technica sur les attributs étendus.
ACL
Les ACL permettent de régler finement les permissions, au niveau de chaque utilisateur ou groupe. On peut afficher les permissions étendues avec :
ls -le
La modification se fait avec chmod +a
.
Commentaires
Merci pour l'explication ! EyeTV Archive devient invisible au Finder, ls -l le montre avec @ au bout des attributs ... J'ai contourné en virant .DS_Store et en re-créant le dossier EyeTV Archive, mais du diable si j'y comprenais goutte, vieil unixien moi-même.
Encore merci,
Didier