chmod: O que significa o parâmetro '+ a'?

11

Eu estava seguindo um tutorial e ele me disse para executar

sudo chmod +a "SOME_PARAMS" some/dir

Fiquei surpreso ao ver que a falha me dizendo

chmod: invalid mode: '+a'

Então, pergunto-me: o que significa o modo +a ? Como eu poderia traduzi-lo em algo que o Ubuntu entende? E também gosto de saber por que não é universalmente suportado.

    
por k0pernikus 27.05.2012 / 17:40

1 resposta

19

Eu nunca vi +a , apenas algo como chmod a+r , que significa "adicionar permissões de leitura a todos os usuários" (proprietário / usuário, grupo, outros).

De man 1 chmod :

The format of a symbolic mode is [ugoa...][[+-=][perms...]...], where perms is either zero or more letters from the set rwxXst, or a single letter from the set ugo. Multiple symbolic modes can be given, separated by commas.

A combination of the letters ugoa controls which users' access to the file will be changed: the user who owns it (u), other users in the file's group (g), other users not in the file's group (o), or all users (a). If none of these are given, the effect is as if a were given, but bits that are set in the umask are not affected.

Certo, como você disse em um comentário, é específico do Mac OS X. De link :

The ACL manipulation options are as follows:

+a
The +a mode parses a new ACL entry from the next argument on the commandline and inserts it into the canonical location in the ACL. If the supplied entry refers to an identity already listed, the two entries are combined.

    
por 27.05.2012 / 17:57