Como posso encontrar arquivos e pastas graváveis e definir o bit pegajoso?

6

Eu quero fazer o seguinte:

  1. Precisa encontrar todos os arquivos e pastas graváveis do mundo em / root.
  2. Se encontrado, preciso verificar se o bit adesivo está definido ou não.
  3. Se o bit adesivo não estiver definido, defina-o.

Podemos criar uma solução de linha de comando para esse tipo de problema?

    
por snoop 28.09.2015 / 17:02

2 respostas

7

Você pode fazer isso usando o formato find do -perm -mode . De man find :

  

-perm -mode

     

Todo o modo de bits de permissão é definido para o arquivo. Simbólico   modos são aceitos neste formulário,         e esta é geralmente a maneira pela qual você gostaria de usá-los. Você deve especificar u', g 'ou' o 'se         você usa um modo simbólico. Veja a seção EXEMPLOS para alguns exemplos ilustrativos.

Portanto, para encontrar todos os arquivos que podem ser gravados no mundo, independentemente de outras permissões, você pode fazer:

find / -perm -o+w 

Para definir o bit adesivo, use -exec :

find . -perm -o+w -exec chmod +t {} + 
    
por terdon 28.09.2015 / 19:59
1

Este comando deve encontrar todos os diretórios graváveis em um comando, eu me encontro usando isso com bastante frequência. Este é o melhor comman Espero que te sirva bem:

find / -type d \( -perm -g+w -or -perm -o+w \) -exec ls -adl {} \;
    
por Boschko 23.05.2018 / 22:25