As páginas do manual afirmam que:
-perm -mode
significa que todos os bits de permissão no modo estão definidos para o arquivo.
-perm /mode
significa que qualquer um dos bits de permissão no modo está definido para o arquivo.
Quando criei dois diretórios /tmp
com permissões 1777
e 1755
e usei esses comandos, ambos os diretórios foram encontrados com permissões 1777
e 1755
.
find / -perm -1000 -type d
find / -perm /1000 -type d
É por isso que estou confuso. Estou usando o CentOS 7 como minha distribuição.
octal 8#1000 é binário 2#1_000_000_000, tem apenas um bit definido, o sticky bit , então todos ou qualquer um não faz diferença.
/tmp
tem todo esse conjunto de bits e qualquer um desses bits definido.Você veria uma diferença para valores que têm pelo menos 2 bits definidos, como em
-perm -5000
vs-perm /5000
(8#5000 sendo 2#101_000_000_000 com 2 bits definidos), onde o primeiro retorna arquivos que têm setuid e sticky bit definidos e o último tem qualquer um deles (ou ambos) definido.Você usa normalmente
/
para coisas como-perm /111
(é executável por alguém)-perm /444
(é legível por alguém) ou-perm /6000
(seja setuid ou setgid, ou seja, perigoso) e-
para coisas como-perm -111
(é executável por todos),-perm -600
(é legível e gravável por seu proprietário) geralmente negado (! -perm -... -exec chmod ...+... {} +
).