Alterando permissões de diretórios e arquivos no Linux (010)

De Wiki.bireme.org/pt
Ir para: navegação, pesquisa

Alterando permissões de diretórios e arquivos no Linux [010] - publicação: 31/agosto/2012

Olá, esta é a mais uma mensagem "Dicas & Truques", contribuição de Fábio L. Brito, sendo direcionada a informáticos, seu conteúdo é de nível avançado e tecnológico.


Público alvo: informáticos
Nível: AVANÇADO
Conteúdo: tecnológico
Objetivo: Alterar direitos de diretórios e arquivos em lotes no Linux

É razoavelmente comum necessitar alterar os direitos de diretórios e arquivos, no entanto efetuar a tarefa é, por vezes, trabalhosa pois diretórios devem ter uma configuração e arquivos outra, quando não mais de uma dependendo do tipo de arquivo.

Supondo que desejamos que todos possam navegar pelos diretórios e ler os arquivos nesles contidos, seria imediato utilizar o seguintes comando:

chmod -R +rx *

No entanto isso nos causa sérios problemas de segurança, pois os arquivos passam a ser executáveis e nós não queremos isso. Neste caso faremos as alterações em duas etapas, utilizando os comandos find, xargs e chmod assim:

find . -type "d" | xargs chmod +rx 
find . -type "f" | xargs chmod +r

Note que o primeiro find lista os diretórios encontrados do corrente para frente e cada um desses diretórios é passado pelo xargs ao chmod que lhes atribui a possibilidade de leitura e navegação, o segundo find lista os arquivos encontrados do corrente para frente e estes são passados ao chmod que attribui direito de leitura na base de um a um.

Caso os arquivos tenham de ter direitos diferenciados conforme seu tipo o comando a seguir dá conta da tarefa:

find . -type "f" -iname "*.sh" | xargs chmod ug=rwx (só proprietário e grupo podem ler escrever e executar)
find . -type "f" -iname "*.htm*" | xargs chmod +r (todos podem ler)


Até a próxima!


sumário