Gruppeneigene Dateien können nicht als Benutzer dieser Gruppe bearbeitet werden

9

Ich verwende einen Ubuntu 14.04.1 LTS-Server auf Digital Ocean. Ich versuche es so zu machen, dass ich Dateien /srv/wwwvon meinem normalen Benutzerkonto aus bearbeiten kann , ohne root sein zu müssen.

Derzeit /srv/wwwist im Besitz von www-data:www-data:

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

Ich habe auch die Berechtigungen für alle Dateien 664und Verzeichnisse auf Folgendes festgelegt 755:

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

Und ich habe meinen Benutzer sheader www-dataGruppe hinzugefügt :

sudo adduser shea www-data

Wenn ich es jedoch versuche, touch /srv/www/foowird folgende Fehlermeldung angezeigt:

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

Es funktioniert gut, wenn ich sudodiesem Befehl voranstelle , aber ich würde das lieber nicht die ganze Zeit tun. Außerdem funktioniert es nicht über SFTP.

Wenn shea:www-dataich den Besitzer so ändere, dass ich in die Dateien schreiben kann, kann WordPress Plugins und Themes nicht aktualisieren.

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

Gibt es sowieso das www-dataund sheaBenutzer können beide Zugriff haben /srv/www? Ich hatte den Eindruck, dass das Hinzufügen beider Benutzer zu einer Gruppe den Trick machen würde, aber ich kann es anscheinend nicht zum Laufen bringen.

Shea
quelle

Antworten:

16

Sie stellen 644 ein, dh Gruppenlesen, nicht Schreiben!

sudo chown -R www-data:www-data /srv/www
sudo chmod -R g+w /srv/www
anu
quelle
9

Ich hatte ein ähnliches Problem mit 16.04 auf DigitalOcean. Hier sind die Schritte, die ich befolgt habe:

  1. Gewähren Sie Schreibzugriff auf die Gruppe, die einer Datei unter zugeordnet ist /var/www/html

    sudo find /srv/www/ -type f -exec sudo chmod 664 {} \;
    
  2. myuserZur www-dataGruppe hinzufügen :

    sudo adduser myuser www-data
    
  3. Bestätigen Sie die Berechtigungen, z.

    ls -la /var/www/html/wp-content/themes/responsive/style.css
    

    gibt

    -rw-rw-r-- www-data www-data 3892 Jan  1 2017 style.css
    
  4. Gruppenmitgliedschaft bestätigen: id myusergibt

    uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),33(www-data),110*lxd)
    

Als ich dann jedoch versuchte, style.cssohne sudomit meinem myuserKonto zu aktualisieren , wurde eine permission deniedFehlermeldung angezeigt.

Lösung

Ich musste mich von allen Sitzungen abmelden, die angemeldet waren, myuserbevor die neuen Berechtigungen wirksam wurden. Ich weiß nicht warum, aber ich hoffe, dies kann anderen in einer ähnlichen Situation helfen.

morphatisch
quelle
Abmelden und wieder einloggen hat bei mir funktioniert. vielen Dank.
Julien
Abmelden und wieder einloggen hat bei mir funktioniert. vielen Dank.
Julien
Ich kann nicht glauben, dass das auch für mich das Problem war. smh
Claudio