chmod 777: como fazer com que todos os arquivos se tornem “RWX”

3

Eu quero alterar a permissão de cada arquivo em um diretório. Eu tenho usado chmod 777 , mas seu tempo perdido se eu tiver 50 arquivos.

Como fazer com que todos os arquivos dentro do diretório se tornem rwx sem alterá-los um por um?

    
por klox 13.07.2010 / 07:20

4 respostas

7

chmod -cR 777 *

Mudará todos os arquivos, incluindo subdiretórios de forma recursiva (opção R), incluindo subdiretórios, mas também informará sobre quando fazer uma alteração (opção c).

Em vez de alterar todos os arquivos com permissões muito amplas, convém alterar a propriedade.

sudo chown -hR tomcat

A linha acima muda a propriedade para um servidor de aplicativos tomcat, você precisa descobrir qual usuário seu servidor da Web está usando. Você pode facilmente ver isso fazendo

ps aux

(A opção h é para alterar o relacionamento de um link simbólico se encontrado, mas não os arquivos aos quais ele se vincula)

    
por 13.07.2010 / 08:29
4

O que você está fazendo é mais do que provável inseguro e o comando abaixo só deve ser invocado se você aceitar completamente os problemas de segurança.

find . -type d -exec chmod 777 '{}'* \;

Isso recursivamente percorrerá o diretório atual e cada subdiretório e alterará as permissões de acordo; se eu não tiver deixado claro o suficiente, isso é uma idéia muito ruim (777 permissões)

    
por 13.07.2010 / 07:39
1

Este script irá executar o comando para todos os arquivos no diretório atual:

sudo find . -name "*" | awk '{print("chmod 777 "$1)}'| /bin/sh

Para testar o script primeiro, você pode simplesmente enviar as instruções sem direcioná-las ao shell a ser executado:

sudo find . -name "*" | awk '{print("chmod 777 "$1)}'

Este mesmo padrão usando o awk é geralmente útil para executar comandos shell de lote.

    
por 21.05.2013 / 19:46
0

Basta digitar:

chmod 777 *
    
por 13.07.2010 / 07:23