<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Arial; font-size: 12pt; color: #000000'><div align="center">Olá, esta é a mais uma mensagem "Dicas &amp; Truques", contribuição de Fábio L. Brito, sendo direcionada a informáticos, seu conteúdo é de nível avançado e tecnológico.<br></div><hr><table style="border-width: 0px; border-style: solid; text-align: left; vertical-align: middle; -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image: none; border-collapse: collapse;" align="left" cellpadding="3" cellspacing="0"><tbody><tr><td style="width: 50%; border-width: 0px; border-style: solid;" align="right"><font size="2">Público Alvo: <br></font></td><td style="width: 50%; border-width: 0px; border-style: solid;"><font size="2"><b>Informáticos<br></b></font></td></tr><tr><td style="border-width: 0px; border-style: solid;" align="right"><font size="2">Nível: <br></font></td><td style="border-width: 0px; border-style: solid;"><font size="2"><b>AVANÇADO<br></b></font></td></tr><tr><td style="border-width: 0px; border-style: solid;" align="right"><font size="2">Conteúdo: <br></font></td><td style="border-width: 0px; border-style: solid;"><font size="2"><b>tecnológico<br></b></font></td></tr><tr><td style="border-width: 0px; border-style: solid;" align="right"><font size="2">Objetivo: <br></font></td><td style="border-width: 0px; border-style: solid;"><font size="2"><b>Alterar direitos de diretórios e arquivos em lotes no Linux<br></b></font></td></tr></tbody></table><br><br><br><br><hr>É 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.<br><br>Supondo que desejamos que todos possam navegar pelos diretórios e ler os arquivos nesles contidos, seria imediato utilizar o seguintes comando:<br><br><div align="center"><b><font face="Courier New, courier, monaco, monospace, sans-serif" size="2">chmod -R +rx *</font></b><br></div><br>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 <b><font face="Courier New, courier, monaco, monospace, sans-serif">find</font></b>, <font face="Courier New, courier, monaco, monospace, sans-serif"><b>xargs </b></font>e <font face="Courier New, courier, monaco, monospace, sans-serif"><b>chmod </b></font>assim:<br><br><blockquote><font face="Courier New, courier, monaco, monospace, sans-serif"><b><font size="2">find . -type "d" | xargs chmod +rx <br>find . -type "f" | xargs chmod +r<br></font></b></font></blockquote><br>Note que o primeiro <i><font face="Courier New, courier, monaco, monospace, sans-serif">find</font></i> lista os diretórios encontrados do corrente para frente e cada um desses diretórios é passado pelo <font face="Courier New, courier, monaco, monospace, sans-serif"><i>xargs</i></font> ao <i><font face="Courier New, courier, monaco, monospace, sans-serif">chmod</font></i> que lhes atribui a possibilidade de leitura e navegação, o segundo <font face="Courier New, courier, monaco, monospace, sans-serif"><i>find </i></font>lista os arquivos encontrados do corrente para frente e estes são passados ao <i><font face="Courier New, courier, monaco, monospace, sans-serif">chmod </font></i>que attribui direito de leitura na base de um a um.<br><br>Caso os arquivos tenham de ter direitos diferenciados conforme seu tipo o comando a seguir dá conta da tarefa:<br><br><blockquote><font face="Courier New, courier, monaco, monospace, sans-serif" size="2"><b>find . -type "f" -iname "*.sh" | xargs chmod ug=rwx</b> (<font face="arial, helvetica, sans-serif">só proprietário e grupo podem ler escrever e executar</font>)</font><br><font face="Courier New, courier, monaco, monospace, sans-serif" size="2"><b>find . -type "f" -iname "*.htm*" | xargs chmod +r</b>&nbsp;&nbsp; (<font face="arial, helvetica, sans-serif">todos podem ler</font>)</font><br></blockquote><br>Boa leitura e até a próxima!<br><hr><font size="1">Esta dica está publicada em: http://wiki.bireme.org/pt/index.php/Dicas_e_truques<br>http://wiki.bireme.org/pt/index.php/Alterando_permissões_de_diretórios_e_arquivos_no_Linux_(010)</font><br></div></body></html>