Para fins de usá-lo com o find, nenhum bit será alterado, tanto a=x
quanto a+x
significam o mesmo.
Mas, em geral, as três opções são (o modo + é obsoleto):
mode # exactly
-mode # ALL bits SET
/mode # ANY bit SET
Isso significa que mode 760
procurará arquivos com permissões exatamente 760
.
Um -mode 220
(em binário 010 010 000, ou -w - w ----) procurará todos os arquivos que tenham o bit de gravação para proprietário e grupo (ambos) definido, e qualquer outro bit também definido , não importa,
como 630 (110 011 000 ou rw-rx ---).
E um /mode 220
corresponderá a QUALQUER bit definido.
Como 220.230.360.270 e de fato:
qualquer (em binário) x1x x1x xxx, onde x significa "não se importa".
A outra maneira de expressar o conjunto de bits é:
a (for all)
u (for user)
g (for group) and
o (for others)
Um a+r
significa o mesmo que a configuração (adição ou binário OR) r-- r-- r-- às permissões que um arquivo pode ter. Ou a + x significa (adiciona) --x - x - x ou 001001001 ou 111.
Então, misturando ambos:
- perm a + x === > perm 111 === > Um arquivo que tem exatamente exatamente as permissoes 111
- perm -a + x === > perm -111 === > Executável por u (ser) g (grupo) AND o (thers)
- perm / a + x === > perm / 111 === > Executável por u (ser) g (grupo) OU o (thers)
O a=x
ou a+x
tem apenas um significado específico para o comando chmod
.
O u+x
altera o bit de execução (defina-o) para o usuário, ou seja, OR 100
.
Mas o u=x
irá limpar os outros dois bits para o usuário e deixar set apenas o bit de execução, tornando assim as permissões do usuário exatamente 1
.
Um chmod u+rwx file
definirá os bits exatamente para 7
ou rwx
para o usuário.
Um chmod u=rwx file
fará exatamente o mesmo.
Para encontrar, nenhum bit será alterado, tanto a=x
quanto a+x
significam o mesmo.