Вы находитесь на странице: 1из 14

Министерство образования и науки Украины

Харьковский национальный университет им. В.Н. Каразина


Кафедра безопасности информационных технологий

Лабораторная работа № 1
По дисциплине «Защита информации в информационно-коммуникационных
системах»
по теме «Исследование файловых объектов с правами пользователя»

Выполнила:
студентка группы КБ–42
Доценко А.А.

Проверил:
Доцент кафедры БИСТ
И. И. Сватовский

Харьков - 2019
ЛАБОРАТОРНАЯ РАБОТА № 1
«Исследование файловых объектов с правами пользователя»

Цель работы: Изучение основ OS Linux, касающихся прав доступа к


файлам, действий над обычными файлами и использования жестких и
символических ссылок.
Программа работы:
1. Зарегистрируемся как root пользователь. Создадим учетные записи еще двух
пользователей. Для этого используем краткую форму команды: useradd –m user1 ,
после присваиваем пользователям их пароли командой passwd user1. Так же и для
user2.

Аргумент –m предписывает создание домашнего каталога пользователя с его


именем.
4. Откроем второй текстовый терминал и зарегистрируемся как user1 с паролем
и аналогично откроем третий текстовый терминал и зарегистрируемся как user2 с
паролем.
5. С правами user1 с помощью команды cd /root попробуем войти в каталог
суперпользователя.

В доступе отказано, потому что у user1 нет прав доступа к каталогу


суперпользователя.
Затем с помощью команды ls -la / просмотрим список основных каталогов.
Проверим права доступа к домашним каталогам пользователей /home/user1 и
/home/user2: они должны быть установлены в 755.

10. Переключимся в консоль администратора и создадим два новых временных


каталога: mkdir -m 777 /home/temp1 и mkdir -m 1777 /home/temp2
11. Вернёмся в консоль user1 и, пользуясь командой mkdir, создадим в
домашнем каталоге пользователя /home/user1 четыре каталога с именами qu1,
qu2, qu3, qu4. При создании каталогов объявим следующие права доступа к ним:
(qu1 - 777, qu2 - 404, qu3 - 1333, qu4– 505).

С помощью команды ls /home/user1 убедимся в том, что каталоги созданы

12. Зададим права доступа к файлам «по умолчанию». Для этого установим
маску доступа umask 022.

Права доступа к вновь создаваемым или копируемым обычным файлам


определяются маской, которая задается с помощью команды umask.
Вызов этой команды без аргументов приводит к выводу текущего значения
маски. Значение маски – восьмеричное число, которое вычитается из 0777 для
исполняемого файла и каталога либо из 0666 – для неисполняемого файла.
Например, для исполняемого файла или сценария
umask = 0022
означает режим доступа
0777 – 0022 = 0755 (111 101 101 = rwxr-xr-x).
Ноль в старшем разряде маски доступа указывает на то, что эффективные права
автоматически не наследуются
13. В каждом из каталогов создадим по три текстовых файла с именами (jan,
feb, mar), (apr, may, jun), (jul, aug, sep), (oct, nov, dec). В каждый файл
запишим календарь на определенный месяц текущего года. Команда cal 1 2019
>jan создает в текущем каталоге файл jan и записывает в него календарь на
январь 2019 года.
Видно, что не удалось создать файлы во втором и четвертом каталоге. Это
произошло потому, что для данных каталогов было установлено невозможность
записи в них данных для обычного пользователя.
14. С помощью команды chmod установим нужные права доступа в
«недоступные» каталоги qu2, qu4 и создадим там указанные файлы. После
этого вернём каталогам прежние права доступа.

15. С помощью команд cd и ls войдём в каждый из созданных каталогов и


просмотрите список созданных файлов. При просмотре содержимого каталогов
используем два режима: ls без аргументов и ls -l.
Не удалось войти в каталог q3. Это произошло так как установлены права доступа
1333, поэтому мы можем делать всё, кроме чтения списка файлов. Также
невозможно получить доступ к файлам каталога qu2. Это произошло потому, что
установленные права доступа 404, что означает, что мы имеем право только на
чтение имен файлов, но не имеем доступа к информации о файлах.
16. Прочитаем содержимое одного из файлов в «темном» каталоге (например,
cd /home/user1/qu3; cat aug).
Видим, что чтение содержимого файла происходит успешно, несмотря на то,
что установлены права 1333 и соответственно чтение файла запрещено.

17. Перейдите во 2-ю консоль и с правами пользователя user2 войдите в


каталог /home/user1/qu1. Создайте в каталоге /home/user2 новый файл quart1
путем конкатенации нескольких имеющихся: cat jan feb mar >/home/user2/quart1

С помощью команды file определите тип созданного файла. Попробуйте


вывести его на экран командой cat.
18. С помощью команды chmod установите права доступа 077 на созданный
файл quart1. Вновь попробуйте прочесть его.

Видим, что в доступе отказано, поскольку права доступа 077, где первая
цифра 0, что означает, что у владельца никаких прав нет. Для того, чтобы их
вернуть необходимо сменить первую группу флагов.

19. Установите для файла quatr1 права на доступ 4700.


Данные права на доступ обозначают, что установлен специальный бит SUID
(4) и это позволит пользователям запускать исполняемые файлы от имени
владельца запускаемого файла. А второй бит (7) означает, что у владельца
имеются полные права на чтение, запись и исполнение файла.

20. Перейдите в консоль администратора и передайте право владения на


файлы may и aug пользователю user2 (команда chown). Поочередно из
консолей user1 и user2 проверьте, как изменились права владения файлами после
его передачи.

Видим, что к файлу may отказано в доступе, поскольку у qu2 права на доступ –
404, а это значит, что группа не имеет никаких прав (0), а владелец имеет право
только на чтение имени файла, но не для просмотра информации о нем.

21. Правами пользователя user1 из каталогов /home/temp1 и /home/temp2 c


помощью команды ln создайте две «жесткие» ссылки на файл dec с именами
dec_h1 и dec_h2 ln /home/user1/qu4/dec /home/temp1/dec_h1

Жесткая ссылка имеет те же права доступа, владельца и время последней


модификации, что и целевой файл. Различаются только имена файлов.
22. С помощью команды ln -s создайте из каталогов /home/temp1 и
/home/temp2 две символические ссылки на файл dec с именами dec_s1 и dec_s2.
23. Правами пользователя user2 с помощью команды cp создайте в ката-
логах /home/temp1 и /home/temp2 по одной копии файла dec с другим именем
(dec_copy1).

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


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

24. Вернитесь в консоль user1. С правами пользователя user1 создайте жесткие


ссылки из его домашнего каталога на файл /bin/su (доступен обычным
пользователям только на исполнение) и на файл /etc/shadow (для обычных
пользователей недоступен).

Право создания непосредственных («жестких») ссылок на существующие


файлы требует прав поиска и записи в каталоге, где создается жесткая ссылка.
25. С правами пользователя user1 скопируйте в его домашний каталог утилиту
/bin/mount. Сравните между собой оригинал и копию и укажите все отличия.

Видим, что владельцем скопированного файла является user1, в отличие от


оригинала, владелец которого – root.

26. С помощью команды rm удалите файл dec.

Удаление мягкой ссылки не приводит к удалению файла или директории, на


которую она указывает, а удаление целевого объекта не приводит к
автоматическому удалению мягких ссылок.
Если файл имеет несколько жестких ссылок, то он удаляется только тогда,
когда удаляется последняя ссылка, указывающая на его inode, и счетчик ссылок
сбрасывается до 0.
Что бы файл перестал существовать (на логическом уровне), необходимо
удалить все ссылки на него.

27. Правами user1 удалите файлы из каталогов /home/temp1 и /home/temp2.


Попробуйте удалить оставшиеся файлы правами пользователя user2.

28. Попробуйте удалить любой из каталогов qu1, qu2, qu3, qu4 с помощью
команды rmdir (не удаляя предварительно из них файлов).

29. Войдите в консоль администратора и с правами root, пользуясь командой


сhattr, заблокируйте файл feb от любых изменений (предварительно
ознакомьтесь с синтаксисом команды). Установите параметр запрета любых
операций, кроме добавления данных для файла mar. Вернитесь в консоль user1.
С помощью команды lsattr -l проверьте наличие дополнительных атрибутов у
файлов.

30. С правами пользователя user1 добавьте одну строку finish в конец файлов
feb и mar . Воспользуйтесь для этого командой echo finish >> file_name

31. С правами пользователя user1 с помощью команды rm -rf


последовательно удалите ранее созданные каталоги qu2, qu3, qu4 вместе с
файлами.
32. С правами пользователя user1 создайте в /home/user1 два каталога mkdir –m
400 src и mkdir –m 200 dst. Внутри каталога src командой echo 1234567890 > abc
создайте текстовый файл (если для этого прав доступа к каталогу недостаточно,
временно измените их). Для созданного файла установите права доступа chmod
100 abc.

33. Манипулируя правами доступа на созданные файловые объекты,


установите минимально необходимые права, позволяющие копировать и
перемещать указанный файл из каталога src в каталог dst.

34. Определите, какие минимально необходимые права на файловые объекты


нужно иметь, чтобы выполнять копирование и перемещение файла от имени
администратора.
Для abc – право на чтение (400), для src – право на чтение и выполнение (500),
для dst – право на запись и выполнение (300).
35. После окончания лабораторной работы из консоли суперпользователя
удалите все созданные вами файлы.

Вывод: Выполняя данную лабораторную работу были изучены основы OS


Linux, касающихся прав доступа к файлам, действий над обычными файлами и
использование жестких и символических ссылок.
При создании файла или директории, среда операционной системы
присваивает им определенные права доступа по умолчанию, и umask - это
пользовательская маска (user mask), которая используется для определения
конечных прав доступа.
Мы создавали директории (mkdir), файлы(touch), жёсткие(ln) и
символические(ln –s) ссылки.
Символическая ссылка не содержит в себе внутри копии самого файла,
на которую она указывает. Она является всего лишь указателем на файл.
Не смотря на это, символическая ссылка обладает собственными правами
доступа, так как сама является небольшим файлом, который содержит путь
до целевого файла. Если удалить символическую ссылку, то файл, на который
она указывает, не удаляется. Если удалить файл, на который указывает ссылка,
то сама ссылка не обновляется и остается на диске. При этом она указывает
на уже несуществующий файл. Аналогично, если переименовать или
переместить целевой файл, то ссылка не обновляется автоматически.
Жесткая ссылка (hard link) является своего рода синонимом для
существующего файла. Когда вы создаете жесткую ссылку, создается
дополнительный указатель на существующий файл, но не копия файла.
Жесткие ссылки выглядят в файловой структуре как еще один файл. Если
вы создаете жесткую ссылку в том же каталоге, где находится целевой файл,
то они должны иметь разные имена. Жесткая ссылка на файл должна находится
в той же файловой системе, где и другие жесткие ссылки на этот файл.
В Linux каждый файл имеет уникальный идентификатор - индексный
дескриптор (inode). Это число, которое однозначно идентифицирует файл в
файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют
одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа,
владельца и время последней модификации, что и целевой файл. Различаются
только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.
Жесткие ссылки нельзя создавать для директорий и она не может указывать
на несуществующий файл.
Каталог с правами записи и исполнения, но без права чтения, часто
называют «темным».
Также мы ознакомились с такими дополнительными свойствами файлов i –
защита от любых изменений файла, включая изменение временных отметок и
создание жестких ссылок, а – запрет любых операций, кроме добавления
данных.