Не может отредактировать файлы, находящиеся в собственности группы как, пользователя, принадлежащего той группе

Я выполняю сервер LTS Ubuntu 14.04.1 на Цифровом Океане. Я пытаюсь сделать его так, я могу отредактировать файлы в /srv/www из моей учетной записи обычного пользователя, не будучи должен быть корнем.

В настоящее время, /srv/www принадлежит www-data:www-data:

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

Я также установил полномочия на всех файлах к 664, и на каталогах к 755:

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

И я добавил своего пользователя, shea, к www-data группа:

sudo adduser shea www-data

Однако, когда я пытаюсь touch /srv/www/foo, Я получаю следующую ошибку:

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

Это хорошо работает, если я предварительно ожидаю sudo к той команде, но я не сделал бы этого все время; плюс он не работает по SFTP.

Изменение владельца к shea:www-data позволяет мне писать в файлы, но затем WordPress не может обновить плагины и темы.

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

Есть ли так или иначе это www-data и shea у пользователей может оба быть доступ к /srv/www? У меня создалось впечатление, что добавление обоих пользователей группе добьется цели, но я, может казаться, не получаю его работа.

7
задан 22 December 2014 в 01:21

2 ответа

Вы - установка 644, которая является чтением группы, не пишут!

sudo chown -R www-data:www-data /srv/www
sudo chmod -R g+w /srv/www
14
ответ дан 23 November 2019 в 06:11

У меня была подобная проблема при выполнении 16.04 на DigitalOcean. Вот шаги, которые я выполнил:

  1. Дайте доступ для записи к группе, связанной с файлом под /var/www/html

    sudo find /srv/www/ -type f -exec sudo chmod 664 {} \;
    
  2. Добавить myuser к www-data группа:

    sudo adduser myuser www-data
    
  3. Подтвердите полномочия, например:

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

    дает

    -rw-rw-r-- www-data www-data 3892 Jan  1 2017 style.css
    
  4. Подтвердите состав группы: id myuser дает

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

Однако, когда я затем пытался обновить style.css без sudo с моим myuser учетная запись, я получил a permission denied ошибка.

Решение

Я должен был выйти из системы и войти в снова от всех сессий, которые были зарегистрированы как myuser прежде чем новые полномочия начали вступать в силу. Не уверенный, почему, но надежда это может помочь кому-либо еще в аналогичной ситуации.

7
ответ дан 23 November 2019 в 06:11

Другие вопросы по тегам:

Похожие вопросы: