chmod: Que signifie le paramètre `+ a`?

16

Je suivais un tutoriel et il m'a dit de courir

sudo chmod +a "SOME_PARAMS" some/dir

J'ai été surpris de voir que l'échec me disait

chmod: invalid mode: `+a'

Je me demande donc: que signifie le +amode? Comment pourrais-je le traduire en quelque chose qu'Ubuntu comprend? Et j'aime aussi savoir pourquoi il n'est pas universellement pris en charge.

k0pernikus
la source

Réponses:

24

Je n'ai jamais vu +a, seulement quelque chose comme chmod a+rqui signifie "ajouter des autorisations de lecture à tous les utilisateurs" (propriétaire / utilisateur, groupe, autres).

De man 1 chmod:

Le format d'un mode symbolique est [ugoa ...] [[+ - =] [perms ...] ...], où perms est soit zéro ou plusieurs lettres de l'ensemble rwxXst, soit une seule lettre de l'ensemble ugo. Plusieurs modes symboliques peuvent être donnés, séparés par des virgules.

Une combinaison des lettres ugoa contrôle quels utilisateurs accéderont au fichier seront modifiés: l'utilisateur qui le possède (u), les autres utilisateurs du groupe du fichier (g), les autres utilisateurs n'appartenant pas au groupe du fichier (o), ou tous utilisateurs (a). Si aucun de ceux-ci n'est donné, l'effet est comme si un était donné, mais les bits définis dans le umask ne sont pas affectés.

Bon, comme vous l'avez dit dans un commentaire, c'est spécifique à Mac OS X. Depuis http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/chmod.1.html :

Les options de manipulation d'ACL sont les suivantes:

+ a
Le mode + a analyse une nouvelle entrée d'ACL à partir de l'argument suivant sur la ligne de commande et l'insère dans l'emplacement canonique dans l'ACL. Si l'entrée fournie fait référence à une identité déjà répertoriée, les deux entrées sont combinées.

Lekensteyn
la source
5
Ce n'est pas autant une erreur, mais plus spécifique à MacOS developer.apple.com/library/mac/#documentation/Darwin/Reference/…
k0pernikus