CHMOD para impedir a exclusão do diretório de arquivos

4

Eu tenho alguma hospedagem em um servidor Linux e tenho algumas pastas que eu não quero excluir. Existem sub pastas dentro destas que eu quero excluir.

Como defino as permissões CHMOD nas pastas que não quero excluir?

Claro, quando eu digo "eu nunca quero excluir" - o que quero dizer é que o cliente final não deve excluí-los por acidente, via FTP ou em um script PHP, etc.

Como exemplo de estrutura de diretórios ...

MainFolder/SubFolder
MainFolder/Another

Eu não quero que "MainFolder" seja excluído acidentalmente, mas estou feliz por "SubFolder" e "Another" serem removidos!

    
por Fenton 23.03.2010 / 11:42

3 respostas

11

A exclusão de um arquivo / diretório altera o conteúdo do diretório-pai, portanto, se você não quiser que MainFolder seja excluído, será necessário garantir que o usuário pretendido não tenha acesso de gravação ao diretório pai de MainFolder .

Assumindo essa estrutura: /some/dir/ParentDir/MainFolder/SubFolder

Você desejará executar algo assim para impedir a exclusão (para todos os usuários):

chmod a-w /some/dir/ParentDir

Naturalmente, essa não é uma situação ideal, pois é um meio não gravável do que os usuários não podem adicionar arquivos / diretórios adicionais a /some/dir/ParentDir

Um bit pegajoso se ajustaria melhor ao seu propósito? definir o bit fixo no diretório pai só permitirá a exclusão pelo proprietário do diretório.

chmod +t /some/dir/ParentDir

Veja a seção de uso no link para mais informações sobre Sticky bits.

    
por 23.03.2010 / 11:49
0

Você pode alterar o proprietário de MainFolder com chown

    
por 23.03.2010 / 11:45
0

Como o Oli diz, você pode chown -R new_owner Mainfolder garantir que todos os subdiretórios tenham um proprietário diferente daquele que acessará o subdiretório. Isso deve impedir que outros usuários a excluam.

Para permitir que outros usuários o acessem, você também pode criar um grupo e alterar o grupo de arquivos com chgrp . Dessa forma, qualquer membro do grupo "clientes" pode acessar as pastas. A alternativa é definir o outro bit para ler se você quiser que todos tenham acesso.

Observe que chmod -R / chown -R / chgrp -R / chcon -R definiu as permissões recursivamente.

    
por 23.03.2010 / 11:51