- •Отчёт о лабораторной работе №2
- •1. Типы файлов
- •2. Жёсткие ссылки
- •3. Команда find
- •4. Команда od
- •5. Файлы /etc/passwd, /etc/shadow и утилита /usr/bin/passwd
- •6. Изменение прав доступа и владельца
- •7. Программа-шлюз
- •8. Утилита df
- •9. Способы формирования ссылок
- •10. Утилита file
- •11. Минимальные права доступа необходимые для выполнения наиболее часто используемых операций:
Санкт-Петербургский Государственный Политехнический Университет
Факультет Технической Кибернетики
Кафедра Компьютерных Систем и Программных Технологий
Отчёт о лабораторной работе №2
Дисциплина: Системное программное обеспечение
Тема: Файловые системы
Д.А.
Киселёв Е.В. Душутина
Преподаватель
Санкт-Петербург
2012
Цель работы:
Изучение файловой системы ОС QNX.
Программа работы:
Используя команду ls, получить информацию о всех возможных типах файлов ФС в выходном файле. Оформить в виде скрипта.
Получить все жесткие ссылки на заданный файл, находящиеся в разных каталогах пользовательского пространства (использовать конвейер команд и фильтрацию).
Изучить команду find. Используя ее ключи, получить расширенную информацию о типах файлов.
Проанализировать содержимое файла-каталога с помощью команды od при выполнении различных операций с файлами:
А) организовать пустой каталог
Б) скопировать в него файл
В) переименовать
Г) удалить
Д) создать подкаталог
Е)создать в нем файл
Последовательность выполнения операций над файлами и каталогами, а также сравнение результатов в файле-каталоге задать в виде командного файла, позволяющего автоматизировать процесс анализа информации в файле-каталоге при внесении в него изменений при любой операции.
Ознакомиться с содержимым файла /etc/passwd, /etc/shadow, утилитой /usr/bin/passwd, проанализировать права доступа к этим файлам
Изучить команды изменения прав доступа и владельца chmod, chown на примере специально созданного для этих целей каталога с файлами. Ознакомиться с флагом SUID. Экспериментально установить, как формируются итоговые права на использование файла, если права пользователя и группы, в которую он входит, различны.
Разработать программу-шлюз для доступа к данным другого пользователя при отсутствии прав на чтение информации (используя флаг SUID)
Утилитой df получить информацию о ФС, установленной на компьютере.
Проанализировать все возможные способы формирования ссылок (ln, link, cp и т.д.) и подтвердить экспериментально. Предложить скрипт, подсчитывающий и перечисляющий все символические ссылки на файл в разных каталогах.
Пояснить принцип работы утилиты file. Определить, где находятся магические числа, идентифицирующие тип файла, на примере исполняемого файла и любого другого типа по выбору. Команду file выполнить с разными ключами.
Сопоставить возможности исполнения наиболее часто используемых операций, варьируя правами доступа к файлу и каталогу (оформить в виде таблицы).
1. Типы файлов
Скрипт, записывающий в выходной файл информацию о всех возможных типах файлов:
#! /bin/sh
filetypes=`ls -lRa / | cut -c 1 | grep -v / | grep -v t | sort | uniq | tr '\n' ' '`
echo Existing types of files on this computer: $filetypes>filetypes.txt
Результат:
# ./script1
# cat filetypes.txt
Existing types of files on this computer: - b c d l n s
Найденные типы файлов:
"-" – обычный файл (regular file);
"b" – специальный файл устройства (блочный файл, позволяет производить обмен данными с устройством в виде блоков фиксированной длины);
"c" – специальный файл устройства (символьный файл, используется для небуферизированного обмена данными);
"d" – каталог;
"l" – символическая связь (позволяет косвенно адресовать файл);
"n" – именованный специальный файл;
"s" – сокет (предназначен для взаимодействия между процессами).