Архитектура операционной системы UNIX


         

УПРАЖНЕНИЯ - часть 4


main(argc,argv) int argc; char *argv[]; { if (argc != 2) { printf("введите: команда имя каталога\n"); exit(); }

/* права доступа к каталогу: запись, чтение и ис- полнение разрешены для всех */ /* только суперпользователь может делать следую- щее */ if (mknod(argv[1],040777,0) == -1) printf("mknod завершилась неудачно\n"); }

Рисунок 5.37. Каталог, создание которого не завершено

*14. Рассмотрим программу (), которая создает каталог с неверным форматом (в каталоге отсутствуют записи с именами "." и ".."). Попробуйте, находясь в этом каталоге, выполнить несколько команд, таких как ls -l, ls -ld, или cd. Что произойдет при этом?

15. Напишите программу, которая выводит для файлов, имена которых указаны в качестве параметров, информацию о владельце, типе файла, правах доступа и времени доступа. Если файл (параметр) является каталогом, программа должна читать записи из каталога и выводить вышеуказанную информацию для всех файлов в каталоге.

16. Предположим, что у пользователя есть разрешение на чтение из каталога, но нет разрешения на исполнение. Что произойдет, если каталог использовать в качестве параметра команды ls, заданной с опцией "-i"? Что будет, если указана опция "-l"? Поясните свои ответы. Ответьте на вопрос, сформулированный для случая, когда есть разрешение на исполнение, но нет разрешения на чтение из каталога.

17. Сравните права доступа, которые должны быть у процесса для выполнения следующих действий, и прокомментируйте:

  • Для создания нового файла требуется разрешение на запись в каталог.
  • Для "создания" существующего файла требуется разрешение на запись в файл.
  • Для удаления связи файла с каталогом требуется разрешение на запись в каталог, а не в файл.

*18. Напишите программу, которая навещает все каталоги, начиная с текущего. Как она должна управлять циклами в иерархии каталогов?

19. Выполните программу, приведенную на , и объясните, что при этом происходит в ядре. (Намек: выполните команду pwd, когда программа закончится).




Содержание  Назад  Вперед