Revendo permissões em dir / files recursivamente por exceção

0

Eu preciso ver apenas os arquivos em & abaixo o diretório em que estou, não tem as permissões corretas: 700 ou menos para arquivos executáveis E 600 ou menos para arquivos não executáveis.

O diretório em que estou e todos os que estão abaixo correm para 3.600 páginas em um documento do Word. Precisa automatizar para um shell ou linha de comando (preferencial) para um servidor Solaris 10. obrigado por qualquer ajuda.

    
por JDW 03.09.2013 / 17:00

2 respostas

2

Suponho que você precise mostrar os arquivos que têm pelo menos o bit rw definido para o usuário 600, 600 devem cobrir 700 rwx. Experimente

encontre. -perm -u = rw

se você quiser que o oposto negue, no c-shell você precisará escapar da negação ou colocar uma barra invertida antes do

encontre. \! -perm -u = rw

    
por 04.09.2013 / 07:37
0

Este é realmente um problema bastante difícil, como afirmado.

Por 'executável' você deve dizer algo diferente de --x------- permissions - o bit executável é definido no modo de arquivo. Eu acho que você quer dizer: é uma imagem compilada ou script de shell ou código de byte java, etc.

Para fazer isso, você precisa usar o comando file, que interpreta a "mágica" no início de um arquivo: como #!/bin/bash no início de um arquivo de script de shell. A parte boa disso é que o arquivo Solaris dá respostas maravilhosas - se você é humano. Ele fornece muitas respostas diferentes.

Se você é um programa, boa sorte. Um arquivo regular que é "dados" pode dizer coisas como "texto ASCII", "arquivo de dados" e assim por diante. IMO o que você tem que fazer é obter uma lista única de "tipos" de arquivos antes de tentar usar find para diferenciar o que você quer. Você pode fazer uma lista com find e awk.

cd /path/to/start/directory
find . -type f -exec /usr/bin/file {} \; | awk '!arr[$0]++' > /tmp/mylist

/ tmp / mylist é uma lista exclusiva desses "tipos de arquivos" Próxima etapa - um ser humano terá que decidir quais entradas em / tmp / my se encaixam em uma definição de arquivo executável e obter ou mover as outras para a pilha "regular". Eu tentei isso no passado, então reserve algum tempo para isso.

Atualize sua postagem aqui com mais informações ao recebê-la. Dependendo do que você conseguir, alguém poderá mostrar o que fazer em seguida.

    
por 04.09.2013 / 04:55