terça-feira, 2 de agosto de 2011

Alterando a permissão de todos os diretórios e subdiretórios

Alterando para 744 todos os subdiretórios a partir do script executado



  Seguindo a ideia de tratar arquivos dentro de um diretório, vamos abranger para uma execução recursiva. Em outras palavras, independente da quantidade de diretório e subdiretórios a partir do ponto que este script é executado, todos os diretórios e suas ramificações são tratados.

  Por exemplo, modificar a permissão de todos os diretórios e subdiretórios. Para cada path (caminho) encontrado, uma sintaxe do Shell Script destaca na cor azul.



#!/bin/bash

quantidade=`ls -R | grep './' | wc -l`

printf "\n       Mudando as permissoes de cada diretorios \n"
for i in `seq $quantidade`
  do
    dir=`ls -R1 | grep './' | sed 's/.\///' | sed 's/://' | head -n $i | tail -n 1`
    echo -e '\033[34;40;1m' "$dir" '\033[m'
    chmod -R 744 "$dir" 
    
    if [ $? == 0 ]
      then
      echo ok
    fi
done



  A variável quantidade informa o total de diretório e subdiretórios e o laço for faz a passagem por cada um deles.

  A sintaxe referido no início do texto é a que aparece na linha echo -e listando em highlighting (destaque).

  Finalmente, a permissão é modificada para o octal 744 alcançando o nosso propósito.

  Apenas para termos um feedback, uma mensagem contendo ok é exibida a cada alteração realizada com sucesso.


  Faço uma advertência quanto à segurança. Determinados diretórios tem seus números octais configurados para restringir acessos. Certifique-se que a alteração recursiva não violará algum diretório que exija maior segurança!

Nenhum comentário:

Postar um comentário