Não é possível editar arquivos de propriedade do grupo como usuário pertencente a esse grupo

4

Estou executando um servidor LTS Ubuntu 14.04.1 no Digital Ocean. Estou tentando fazer com que eu possa editar arquivos em /srv/www da minha conta de usuário normal, sem precisar ser root.

Atualmente, /srv/www é de propriedade de www-data:www-data :

sudo chown -R www-data:www-data /srv/www 

Também defini as permissões em todos os arquivos como 664 e nos diretórios como 755 :

sudo find /srv/www/ -type f -exec sudo chmod 644 {} \;
sudo find /srv/www/ -type d -exec sudo chmod 755 {} \;

E adicionei meu usuário, shea , ao grupo www-data :

sudo adduser shea www-data

No entanto, quando tento touch /srv/www/foo , recebo o seguinte erro:

touch: cannot touch ‘/srv/www/foo’: Permission denied

Funciona bem se eu prefixar sudo para esse comando, mas prefiro não fazer isso o tempo todo; além disso, não funciona em SFTP.

Alterar o proprietário para shea:www-data permite que eu grave nos arquivos, mas o WordPress não pode atualizar plug-ins e temas.

sudo chown -R shea:www-data /srv/www

Existe algum modo em que www-data e shea usuários possam ter acesso a /srv/www ? Fiquei com a impressão de que adicionar os dois usuários a um grupo faria o truque, mas parece que não consigo trabalhar.

    
por shea 22.11.2014 / 09:20

2 respostas

10

Você está configurando 644, que é de grupo, não escreve!

sudo chown -R www-data:www-data /srv/www
sudo chmod -R g+w /srv/www
    
por anu 22.12.2014 / 11:38
3

Eu tive um problema parecido com o 16.04 no DigitalOcean. Aqui estão os passos que segui:

  1. Conceda acesso de gravação ao grupo associado a um arquivo em /var/www/html sudo find /srv/www/ -type f -exec sudo chmod 664 {} \;
  2. Adicione myuser ao grupo www-data :
    sudo adduser myuser www-data
  3. Confirme as permissões, por exemplo: ls -la /var/www/html/wp-content/themes/responsive/style.css fornece -rw-rw-r-- www-data www-data 3892 Jan 1 2017 style.css
  4. Confirme a associação ao grupo: id myuser fornece uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),33(www-data),110*lxd)

No entanto, quando tentei atualizar style.css sem sudo com minha conta myuser , recebi um erro permission denied .

Solução

Eu tive que sair e fazer login novamente de todas as sessões que estavam logadas como myuser antes que as novas permissões entrassem em vigor. Não sei porquê, mas espero que isso ajude alguém em uma situação semelhante.

    
por morphatic 27.08.2017 / 19:59