Chmod para permitir permissões de leitura e gravação para o diretório

54

Eu criei diretórios na raiz. Eu estou procurando o comando chmod para permitir que todos os usuários leiam e escrevam permissões para um diretório específico. Eu fiz chmod 775 para um arquivo, mas eu preciso disso para um diretório. Isso inclui permissões em todos os arquivos e subdiretórios.

    
por chrissygormley 31.03.2010 / 13:56

3 respostas

31

0775 raramente está correto para um arquivo. A seguir, você adicionará as permissões desejadas apropriadas ao tipo apropriado, sem perturbar outras permissões existentes:

find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)

Veja a página do manual para encontrar para ajudar a decifrar isso.

    
por 31.03.2010 / 14:05
38

Para que todos usuários tenham acesso de leitura e gravação, isso seria 0777 , o que é um pouco perigoso, especialmente se você estiver executando um servidor da web. Como @unwind disse:

chmod -R 0777 /mydirectory Permitirá que todos os usuários leiam e gravem acesso a todos os arquivos e pastas dentro desse diretório

Dependendo do seu objetivo, você pode querer ler sobre bits pegajosos, que permitem que todos os usuários criem novos arquivos, mas não para excluir ou editar outros arquivos em um diretório:

chmod +t /mydirectory

Além disso, caso você não saiba, man chmod exibirá a página de manual do comando chmod , que você pode pesquisar pelo texto "recursivo", digitando /recursive

    
por 31.03.2010 / 14:28
13

Não é assim que o modelo de proteção Unix funciona, você não pode definir as permissões recursivamente. Você precisa configurá-los em cada diretório, todo o caminho "para baixo".

É claro que você pode fazer a configuração recursivamente, mas isso significa apenas "passar e definir essas permissões em todos os arquivos e pastas abaixo", que não é como eu entendo sua pergunta.

Para fazer isso, use a opção -R para chmod:

$ chmod -R 0755 /my-cool-directory
    
por 31.03.2010 / 13:58