Пытаюсь посмотреть содержимое файла: [user@host home]$ tail -10 /dir1/dir2/dir3/file.log tail: /dir1/dir2/dir3/file.log: Permission denied [user@host home]$ ls -l /dir1/dir2/dir3/file.log ls: /dir1/dir2/dir3/file.log: Permission denied [user@host home]$ ls -l /dir1/dir2 drwxrwxrw- 2 user2 group2 4096 Jan 13 04:02 dir3 Логинюсь как root, проверяю права файла file.log: -rw-r--r-- Тогда, если сам файл имеет a+r и у его родительского каталога тоже стоит a+r, почему я не могу его прочитать обычным юзером? Что я упустил?
NoResponse См. внимательнее: Отсюда можно сделать вывод, что с правами на dir1 и dir2 нет проблем (иначе бы ls выдала ошибку). А права на dir3 и так видны.
все, понял в чем дело man 2 lstat у тебя же у dir3 сброшен x-бит для юзера т. к ls использует lstat, то отсюда ошибка аналогично с tail tail для начала пытается открыть файл на чтение, но получает -EACCESS, поскольку если бы ошибки не было, но в результате open() вернул бы валидный дескриптор, который можно было бы подставить в fstat для получения информации о файле, что запрещено в случае сброса бита x у директории, где лежит файл