Por que o usuário do Linux não pode editar arquivos no grupo do qual faz parte?
Estou usando o Ubuntu 12.04 e tive o mesmo problema em que um usuário não consegue gravar em um arquivo para o qual ele tem permissão de acesso de grupo. Por exemplo:
whoami //I am user el
el
touch /foobar/test_file //make a new file
sudo chown root:www-data /foobar/test_file //User=root group=www-data
sudo chmod 474 /foobar/test_file //owner and others get only read,
//group gets rwx
sudo groupadd www-data //create group called www-data
groups //take a look at the groups and see
www-data //www-data exists.
groups el //see that el is part of www-data
el : www-data
Reinicie o terminal agora para garantir que os usuários e grupos tenham entrado em vigor. Faça login como el.
vi /foobar/test_file //try to edit the file.
Produz o Aviso:
Warning: W10: Warning: Changing a readonly file"
O que? Eu fiz tudo certo por que não funciona?
Responda:
Faça uma reinicialização completa do computador. Parar o terminal não é suficiente para corrigir esses problemas.
Eu acho que o que acontece é que o apache2 também usa o grupo www-data, então a tarefa estava de alguma forma impedindo os usuários e grupos de serem executados corretamente. Você não só precisa fazer logout, mas também interromper e reiniciar todos os serviços que usam seu grupo. Se a reinicialização não funcionar, você terá problemas maiores.