Linux разрешения на папки

957

AFAIK, когда у меня есть r - это означает, что я могу читать каталог, но не CD в него (согласно книге). IIRC я ​​могу добавить файлы, когда у меня есть -w- доступ. Так почему я не могу скопировать файлы (я понимаю, почему я не могу переместиться) из d в мой текущий каталог? Также обратите внимание, что я владелец файла в d

-edit- Я проверял перенос файлов в папки только для записи. Это не сработало. Я мог бы поклясться, что делал это раньше. Означает ли это, что копирование и запись файлов могут быть выполнены, только если установлен бит X? Что я могу сделать, когда установлен г или ш, но не х?!?!

2

2 ответа на вопрос

3
dmckee

Вы не можете копировать из -w-каталога, потому что вам также нужно выполнить access ( -wx), чтобы иметь возможность анализировать каталог (каталоги представлены на диске специальными файлами), чтобы найти индекс файла, который вы хотите скопировать.

Вы можете найти некоторую документацию о значении битов на chmodстранице руководства . В частности (с моего компьютера Mac OS 10.5):

0400 Разрешить чтение владельцем.
0200 Разрешить запись владельцем.
0100 Для файлов разрешить выполнение владельцем. Для каталогов, разрешите владельцу искать в каталоге.

0
John T

Только с разрешениями на запись вы ничего не можете сделать, поскольку перед записью в каталог вы должны иметь к нему доступ. Разрешение на выполнение указывает, что пользователь или процесс могут получить доступ к каталогу, например, команду touch во время работы.

чтение - список содержимого каталога запись - может создавать файлы только при включенном праве записи (300). выполнить - перейти в каталог

хотя все параметры позволят вам переименовать каталог (с помощью команды mv в тот же каталог).

Похожие вопросы