Compreendendo o seguinte comando find

3

Atualmente, estou tendo dificuldades em entender o seguinte comando de localização:

find / -o -group 'id -g' -perm \ 
 -g=w -perm -u=s -o -perm -o=w\
 -perm -u=s -o -perm -o=w \
 -perm -g=s -ls 

Especificamente esta parte:

find / -o -group 'id -g' -perm -g=w -perm -u=s

Eu entendo que -o funciona como um operador ou. Se fosse esse o caso, essa linha em particular não significa encontrar todos os arquivos em / ou arquivos com permissão de gravação em grupo e com conjunto de suid que são o mesmo grupo que o meu. Que basicamente significa todos os arquivos no diretório /. Alguém pode me explicar o que estou perdendo?

    
por MykelXIII 07.05.2016 / 12:21

1 resposta

3

Na find(1) manpage :

The -H, -L and -P options control the treatment of symbolic links. Command-line arguments following these are taken to be names of files or directories to be examined, up to the first argument that begins with -, or the argument ( or !. That argument and any following arguments are taken to be the expression describing what is to be searched for. If no paths are given, the current directory is used. If no expression is given, the expression -print is used (but you should probably consider using -print0 instead, anyway).

O ponto inicial, / no seu caso, não é processado da mesma forma que as expressões. Este último,

-o -group 'id -g' -perm \ 
-g=w -perm -u=s -o -perm -o=w\
-perm -u=s -o -perm -o=w \
-perm -g=s -ls

no seu caso, são aplicados a todos os arquivos encontrados no ponto inicial. -o é um operador binário que requer expressões em ambos os lados, portanto, este comando falha:

find: invalid expression; you have used a binary operator '-o' with nothing before it.

Se você remover o primeiro -o , ele será equivalente a

   ( -group 'id -g' -perm -g=w -perm -u=s )
-o ( -perm -o=w -perm -u=s )
-o ( -perm -o=w -perm -g=s -ls )

que lista apenas arquivos que são setgid e graváveis por outros. Os dois primeiros grupos de expressões não têm ação, então são aplicados, mas não têm nenhum efeito visível.

    
por 07.05.2016 / 14:58