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 ?
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*
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.
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
.
⇒ Article d’Ars Technica sur les ACL.
HTML5 valide ? © Christophe Jacquet. ✍ Contact. Mentions légales.