Невозможно редактировать принадлежащие группе файлы как пользователя, принадлежащего к этой группе
Я использую сервер Ubuntu 14.04.1 LTS в Digital Ocean. Я пытаюсь сделать так, чтобы я мог редактировать файлы в /srv/www
из моей обычной учетной записи пользователя, без необходимости быть пользователем root.
В настоящее время, /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
? У меня сложилось впечатление, что добавление обоих пользователей в группу поможет, но я не могу заставить ее работать.
2 ответа
Вы устанавливаете 644, который является групповым чтением, а не записью!
sudo chown -R www-data:www-data /srv/www
sudo chmod -R g+w /srv/www
У меня была похожая проблема при запуске 16.04 на DigitalOcean. Вот шаги, за которыми я следовал:
Предоставить доступ на запись к группе, связанной с файлом в
/var/www/html
sudo find /srv/www/ -type f -exec sudo chmod 664 {} \;
добавлять
myuser
кwww-data
группа:sudo adduser myuser www-data
Подтвердите разрешения, например:
ls -la /var/www/html/wp-content/themes/responsive/style.css
дает
-rw-rw-r-- www-data www-data 3892 Jan 1 2017 style.css
Подтвердите членство в группе:
id myuser
даетuid=1000(myuser) gid=1000(myuser) groups=1000(myuser),33(www-data),110*lxd)
Тем не менее, когда я тогда попытался обновить style.css
без sudo
со мной myuser
аккаунт, я получил permission denied
ошибка.
Решение
Я должен был выйти и снова войти в систему со всех сеансов, которые были зарегистрированы как myuser
до того, как новые разрешения начали вступать в силу. Не уверен почему, но надеюсь, что это может помочь кому-то еще в подобной ситуации.