Se você tiver um problema de permissão em que você precisa obter acesso de gravação a um diretório de propriedade da raiz e a solução se parece com "dar permissão a todos", provavelmente você está fazendo algo extremamente errado.
Há uma dúzia de soluções para isso, mas a escrita é realmente variável com base no que os dados são.
-
Permita a permissão de gravação do proprietário do grupo e adicione-se a esse grupo (ou altere o grupo para um grupo em que você esteja). Isso é comum em cenários
/var/www/
, em que um servidor da web e um usuário real precisam ser capazes de gravar em um diretório.sudo usermod -aG www-data $USER sudo chgrp www-data /path/to/directory sudo chmod -R 774 /path/to/directory
Mas não adicione seu usuário ao grupo raiz; isso é bobagem.
-
Altere o proprietário para o seu usuário .
chown -R $USER: /path/to/files
Se nenhum outro usuário (sistema inc) precisar acessar o diretório, torne-o seu. Obviamente, isso não funcionará se você estiver compartilhando esses arquivos com outros processos no sistema (como um servidor da Web ou um aplicativo usado pelo sistema).
-
Use o ACL . Esta é uma estrutura de permissão de grão fino que permite adicionar usuários nomeados às permissões rosta. Muito útil, mas um pouco complicado de configurar.
Ainda assim, não fique por aqui. Se o arquivo / diretório não for de propriedade / editado por pessoas aleatórias, não abra as coisas para que qualquer coisa que esteja sendo executada sob seu usuário possa editá-lo.
-
Não faça nada . Use
sudo
,sudoedit
et al para editar os arquivos e deixar suas permissões bem sozinhas. Se eles são de propriedade da raiz por um motivo, deixe-os assim. Isso é mais verdadeiro para as configurações. A pequena inconveniência de pedir sua senha é manter seu sistema seguro.