Uma maneira mais segura de conceder permissões para o próprio usuário?

2

Eu sei que às vezes podemos fazer chmod 777 , então temos um diretório ao nosso alcance para acessar, ler e escrever. Mas geralmente eu prefiro fazer um sudo chown {myusername} {directory} .

Obviamente, o chmod 777 deixa um diretório completamente aberto para qualquer pessoa, mas a minha prática de usar sudo chown ... realmente oferece proteção aos meus diretórios em relação ao chmod 777 ?

    
por diegoaguilar 10.07.2013 / 03:13

3 respostas

3

chmod 777 significa que "qualquer um pode fazer qualquer coisa". Bem, ok, quase tudo - algumas operações, como a alteração do horário e das permissões, são reservadas ao proprietário. Mas qualquer um pode criar, remover ou sobrescrever qualquer arquivo, por isso não há proteção.

Posso garantir que, se você executar chmod 777 , está fazendo errado. Se você quiser compartilhar arquivos e editar os arquivos uns dos outros, configure um sistema de controle de revisão e pressione as alterações para compartilhá-los. Se você quiser apenas disponibilizar alguns arquivos para outros, crie um diretório ~/pub e coloque seus próprios arquivos lá.

    
por 10.07.2013 / 03:39
1

chmod 777 foo permite que qualquer pessoa tenha acesso à sua caixa, acesso ao arquivo foo .

chown user foo dá apenas a esse usuário acesso ao arquivo foo .

Se você combinar as duas abordagens, qualquer pessoa com acesso à sua caixa terá acesso a esse arquivo.

    
por 10.07.2013 / 03:38
1

Seu método de apropriação do diretório em vez de alterar suas permissões para 777 é mais seguro em muitos contextos.

Permissões padrão

Muitos sistemas têm valores padrão de 022. Quando um diretório é criado, o umask é geralmente subtraído do 777 para calcular as permissões do novo diretório, significando que as permissões padrão do diretório na maioria dos sistemas são 755. Isso significa que, por padrão, somente o proprietário de um diretório pode criar e excluir arquivos dentro dele. Outros usuários não são impedidos de gravar arquivos nesse diretório. Essa proteção é fornecida pelas permissões dos arquivos. Você deve estar ciente de que, se um usuário tiver permissões de gravação em um diretório, mas não em um arquivo desse diretório, ele poderá simplesmente excluir o arquivo e substituí-lo.

A resposta

Em resumo, apropriar-se do diretório em vez de alterar suas permissões para 777 impedirá que outros usuários adicionem, removam ou substituam arquivos dentro desse diretório, mas não impedirão que os usuários leiam arquivos no diretório.

Uma nota sobre permissões de diretório

As permissões de diretório são um pouco estranhas e não intuitivas em comparação com as permissões de arquivo. A permissão executável ( 1 ) permite recuperar metadados de arquivos em um diretório, incluindo os inodes dos arquivos. Isso significa que, sem permissões de execução para um diretório, você não pode ler arquivos nesse diretório, conhecendo apenas os caminhos dos arquivos. A permissão de leitura ( 4 ) permite que você veja uma lista de arquivos em um diretório, mas não em seus metadados. A permissão de gravação ( 2 ) permite criar e excluir arquivos em um diretório.

    
por 10.07.2013 / 03:43