Права доступа к папкам и файлам Linux

Права доступа к папкам и файлам Linux

Если у меня есть каталог, на который у пользователя есть разрешение на чтение, почему невозможно проверить, есть ли файл в этом каталоге. Например, предположим, у меня есть папка /myfolder с разрешением на чтение. В этой папке есть файл 'garbage.txt' с разрешением на чтение (для пользователя). Когда я пытаюсь использовать stat /myfolder/garbage.txt, я получаю ошибку «отказано в доступе». Если я добавлю разрешение на выполнение для /myfolder, то я смогу проверить, существует ли trash.txt.

Почему мне нужны права на выполнение, чтобы проверить, существует ли файл в папке. Я ожидал, что прав на чтение для каталога/папки будет достаточно.

решение1

В Linux разрешения для папок следующие:

Бит записи позволяет затронутому пользователю создавать, переименовывать или удалять файлы в каталоге, а также изменять атрибуты каталога.

Бит чтения позволяет затронутому пользователю просматривать список файлов в каталоге.

Бит выполнения позволяет затронутому пользователю войти в каталог и получить доступ к файлам и каталогам внутри него.

В липком бите указано, что файлы и каталоги внутри этого каталога могут быть удалены или переименованы только их владельцем (или пользователем root)

Больше информации:

http://www.firewall.cx/linux-knowledgebase-tutorials/introduction-to-linux/299-linux-file-folder-permissions.html

решение2

Права на выполнение в каталоге позволяют вам перемещаться по этому каталогу. И вам нужно иметь возможность перемещаться в каталог, чтобы использовать stat для этого файла.

Смотрите такжеhttps://stackoverflow.com/questions/790686/understanding-linux-directory-permissions-reasoning

Связанный контент