Я рекурсивно ем /srv/site
к www-data:www-data
и изменил его рекурсивно с помощью ug+rwx
. Затем я добавил себя в группу www-data
.
$ sudo usermod -a -G www-data cyrus
$ sudo chgrp -R www-data /srv/site
$ sudo chmod -R ug+rwX /srv/site
Однако почему я все еще получаю отказ в разрешении?
$ ls /srv/site
ls: cannot open directory /srv/site: Permission denied
$ cd /srv; ls -la
total 12
drwxr-xr-x 3 root root 4096 Aug 13 02:42 .
drwxr-xr-x 24 root root 4096 Aug 11 21:20 ..
drwxrwx--x 10 www-data www-data 4096 Aug 13 02:42 site
Вы снова вошли в систему? Членство в группе обычно не сбрасывается после входа пользователя в систему.
Как уже указывалось, вам необходимо повторно войти в систему, чтобы обновить вектор группы.
Чтобы не потерять контекст вашей работы (например, другие открытые терминалы), вы можете рассмотреть
user$ su - user
или
user$ newgrp www-data
затем оттуда вы можете создавать новые программы с полным вектором группы.
В случае newgrp
, то, что вы в конечном итоге, является вашей основной группой www-data
(в данном случае), что важно, например. при создании новых файлов.
В случае su
, Интересно, как добиться того же эффекта с sudo
(sudo -iu user
не обновляет вектор группы).