2

Я пытаюсь создать файл из моего исходного кода c на Linux. Я использую команду dd для чтения из файла и записи в файл, создав там. Если у меня нет прав на выполнение (у меня есть права на запись) для целевого каталога (где будет создаваться файл), он не сможет создать файл. Если у меня есть разрешения на запись и выполнение, он может создать файл. Что является причиной этого?

2 ответа2

6

Если атрибуты режима r, w и x установлены, они оказывают следующее влияние на файлы и каталоги:

  • Атрибут (разрешение на чтение):

Файлы: позволяет открывать и читать файл.

Каталоги: Позволяет перечислять содержимое каталога, если также установлен атрибут execute.

  • Атрибут w (разрешение на запись):

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

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

  • Атрибут (разрешение на выполнение):

Файлы: позволяет обрабатывать файл как программу и выполнять. Программные файлы, написанные на языках сценариев, также должны быть доступны для чтения.

Каталоги: Позволяет каталог , который необходимо ввести, например, CD - каталог.

Справка: командная строка Linux® Уильям Э. Шоттс-младший

Я бы рекомендовал прочитать эту книгу или PDF-версию, которую вы можете скачать по этой ссылке: http://sourceforge.net/projects/linuxcommand/files/TLCL/13.07/TLCL-13.07.pdf/download

0

Бит выполнения в каталоге дает вам возможность ввести / пройти его. Поэтому в вашем случае необходимо создать файл (в противном случае вы можете его ввести).

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