Назад | Перейти на главную страницу

ls разрешение отклонено даже с разрешениями на выполнение

Я рекурсивно ем /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 не обновляет вектор группы).