У меня есть папка (которая принадлежит другому пользователю, но той же группе), и я хочу просмотреть ее содержимое, но всегда получаю следующее сообщение об ошибке:
"ls: cannot open directory .: Permission denied"
Но у группы есть rwx-разрешения!
Например:
www-data:www-data
user1
принадлежит к группе www-data
(но это не основная группа).Какие разрешения мне нужно установить, чтобы user1
разрешено просматривать содержимое папки и писать в нее?
Разрешения на выполнение должно быть достаточно для перечисления содержимого каталога. Но вы должны убедиться, что все каталоги в родительском дереве также имеют разрешение на выполнение, иначе user1
не может пройти по дереву до этого каталога, который вы хотите ls
.
Например, если вы хотите проверить содержимое /var/www
но у вас нет прав доступа к каталогу /var
, тогда ты не можешь сделать ls /var/www
потому что ты не можешь ходить по дереву /
вплоть до /var/www
.
Другая проблема может возникнуть, если включен SELinux. Это включено?
редактировать
Очевидно, вам нужно использовать newgrp www-data
сделать эту дополнительную группу вашей основной. После этого вы можете ls
в этом каталоге.
Для меня это работает без newgrp
:
$ ls -l
drwxr-x--- 2 root adm 4096 Aug 19 14:26 ls-test
$ id
uid=1000(ott) gid=1000(ott) groups=1000(ott),4(adm),5000(vmail)
$ ls -l ls-test/
total 0
-rw-r--r-- 1 root root 0 Aug 19 14:26 xxx
Какой у вас дистрибутив, какая версия?