1

На этой странице, http://content.hccfl.edu/pollock/aunix1/filepermissions.htm, я понимаю, что мне нужно установить бит +w в каталоге, чтобы создать новый файл, и бит +x, чтобы перейти в него /access. его инод. Все идет нормально. Но я не могу использовать vi /cat /nano /echo и т.д. Для таких вещей:

echo hello > dir/file

потому что я не могу получить доступ к inode of dir. У меня вопрос, как мне создать / удалить / переименовать новый файл в dir, если я не могу получить доступ к его inode? Могу ли я редактировать структуру каталогов, используя

vi dir

и создать / отредактировать / переименовать новый файл? Есть ли учебник для этого?

2 ответа2

3

Разрешение x для каталогов - это разрешение на поиск. Нужно завладеть дентри в каталоге по имени.

Поскольку каждая операция файловой системы начинается с поиска целевого пути, у вас нет абсолютно никакого доступа к содержимому каталога, к которому у вас нет разрешения x . Таким образом, нет смысла иметь w без x , потому что для создания dentries в каталоге требуется разрешение на поиск.

Тот факт, что вы не можете cd является своего рода побочным эффектом, потому что он смотрит вверх . внутри каталога, а не только в самом каталоге (вы все еще можете stat каталог).

0

Если у вас нет +x даже если у вас есть +w , вы не можете создавать новые записи в каталоге, ни в файлах, ни в каталогах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .