
ЛАБ2
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Безопасность Astra-Linux
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №2
ИЗУЧЕНИЕ ПРАВ ДОСТУПА К ФАЙЛАМ В LINUX
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студент:
Травкина Е.А., ИКБ-14
(Ф.И.О., № группы) (подпись)
Федченко А.С., ИКБ-14
(Ф.И.О., № группы) (подпись)
Мельцин Л.М., ИКБ-14
(Ф.И.О., № группы) (подпись)
Преподаватель:
ст. преп. Гельфанд А.М.
(должность, Ф.И.О.) (подпись)
Цель лабораторной работы
Ознакомиться с правами доступа в операционной системе Linux.
Понять структуру прав доступа.
Освоить основные команды по обработке и управлению правами доступа.
Используемое программное обеспечение
Для выполнения лабораторной работы используется установленный дистрибутив ОС Linux.
Задание на лабораторную работу
Ознакомиться с командами Linux для управления доступом.
Создать две группы с названием group1 и group2.
groupadd group1 group2
Создать пять пользователей с именами user1, user2 … user5 и добавить их в группу согласно приведенной ниже таблице
user1 |
user2 |
user3 |
user4 |
user5 |
group1 |
group2 |
Рис. 1. Пример создания user4 и user5
Дополнительно используем команду для изменения владельца для всех файлов и подкаталогов в указанном каталоге. Пример для user1:
chown -R user1 /home/user1
Авторизоваться за каждого пользователя и создать в домашнем каталоге структуру каталогов и файлов. Структура приведена на рис.6.
Рис. 2. Пример создания структуры каталога user2
Дать доступ для редактирования file2 второму пользователю.
sudo setfacl –m “u:user2:-w-” ~/*/*/*/file2
Дать доступ для редактирования file3 всем пользователям.
sudo chmod o+w ~/*/*/file3
Дать доступ для чтения и редактирования file4 первому и второму пользователю.
sudo setfacl –m “u:user1:rw-” ~/*/*/*/file4
sudo setfacl –m “u:user2:rw-” ~/*/*/*/file4
Дать доступ для запуска test3 только первому пользователю.
sudo setfacl –m “u:user1:--x” ~/*/*/test3
Запретить доступ для запуска test1 первому пользователю.
sudo setfacl –m “u:user1:rw-” ~/*/*/test1
Запретить доступ для чтения file5 третьему и пятому пользователю.
sudo setfacl –m “u:user3:---” ~/*/*/file5
sudo setfacl –m “u:user5:---” ~/*/*/file5
Запретить доступ для запуска test2 всем пользователям.
sudo chmod a-x ~/*/*/*/test2
Запретить доступ для редактирования file7 третьему и четвертому пользователю, но разрешить всем остальным.
sudo chmod g-w,o+r ~/*/*/*/file7
Дать доступ для чтения и редактирования file1 пятому пользователю, всем остальным запретить.
sudo setfacl –m “u:user5:rw-” ~/*/*/file1
Дать доступ для чтения и редактирования file6 первому и второму пользователю, остальным запретить.
sudo setfacl –m “u:user5:rw-” ~/*/*/*/file6
sudo setfacl –m “u:user2:rw-” ~/*/*/*/file6
sudo chmod o-rw ~/*/*/*/file6
Порядок выполнения работы
Запустить Терминал. Авторизоваться под root для создания пользователей и групп. Создавать структуру каталог и файлов, надо авторизоваться под каждым созданным пользователем.
Сведенья необходимые для выполнения работы
Создание пользователя в Linux (useradd)
useradd [опции] имя пользователя
Некоторые из опций:
-d Домашняя директория.
-s Консольная оболочка.
-p Пароль пользователя.
-g Главная группа пользователя.
-G Другие группы, к которым принадлежит пользователь.
-m Принудительное создание домашней директории.
Пример:
useradd -g group -s /bin/bash -d /home/user –m user
Все созданные пользователи хранятся в файле /etc/passwd.
Создавать пользователей, корректировать их параметры можно редактируя этот файл.
Создание группы в Linux (groupadd)
groupadd [Опции] имя группы
Пример:
groupadd group
Все группы хранятся в файле /etc/group. Создавать группы можно редактируя этот файл.
Изменение режима доступа к файлам (chmod)
chmod режим файл
Права доступа к указанным файлам (среди которых могут быть каталоги) изменяются в соответствии с указанным режимом. Режим может быть задан в абсолютном или символьном виде. Использование символьного вида основано на однобуквенных обозначениях, которые определяют класс доступа и права доступа для членов данного класса. Права доступа к файлу зависят от идентификатора пользователя и идентификатора группы, в которую он входит. Режим в целом описывается в терминах трех последовательностей, по три буквы в каждой:
-
Владелец
Группа
Прочие
(u)
(g)
(o)
rwx
rwx
rwx
Здесь владелец, члены группы и все прочие пользователи обладают правами чтения файла, записи в него и его выполнения. В примере показаны обозначения, как для класса доступа, так и для прав доступа внутри класса. Для задания режима доступа в символьном виде используется следующий синтаксис:
[кому] операция права
Часть [кому] есть комбинация букв u, g и o (владелец, члены группы и прочие пользователи соответственно). Если часть кому опущена или указано a, то это эквивалентно ugo.
Операция может быть: + (добавить право), - (лишить права), = (в пределах данного класса присвоить права абсолютно, то есть добавить указанные права и отнять неуказанные).
Права - любая осмысленная комбинация следующих букв:
r – право на чтение.
w – право на запись.
x – право на выполнение (поиск в каталоге).
s – при выполнении переустанавливать действующий идентификатор пользователя или группы.
t – после выполнения программы сохранять сегмент команд (бит навязчивости).
l – Учет блокировки доступа.
Опустить часть права можно только если операция есть = (для лишения всех прав). Если надо сделать более одного указания об изменении прав, то при использовании символьного вида в правах не должно быть пробелов, а указания должны разделяться запятыми. Например, команда chmod u+w,go+x f1 добавит для владельца право писать в файл f1, а для членов группы и прочих пользователей - право выполнять файл. Права устанавливаются в указанном порядке. Право s можно добавлять только для пользователя и группы, право t - только для пользователя. Чтобы установить права, позволяющие владельцу читать и писать в файл, а членам группы и прочим пользователям только читать, надо использовать следующую запись:
chmod u=rw,go=r f1
Позволить всем выполнять файл f2
chmod +x f2
Изменение владельца файла (chown)
chown [опции] пользователь файл|каталов
Некоторые опции:
-R рекурсия. Для изменения владельца для всех файлов и подкаталогов в указанном каталоге.
-v подробный режим. Показывает все действия, выполняемые chown; сообщает, у каких файлов были изменены владельцы в результате выполнения команды, а какие файлы остались без изменений.
-c подобна опции -v, но сообщает только о тех файлах, что были изменены.
Пример:
chown user2 /home/user1/file
Изменение группы владельца (chgrp)
chgrp [опции] группа файл|каталог
Опции для этой команды такие же, как и у chown, и она используется очень похожим способом.
Пример:
chgrp group2 /home/user1/file
Для установки и удаления ACL (sefacl).
setfacl [параметры] [{-m|-x} ACL] файлы
getfacl выводит установленные права доступа
Рис. 3. Структура каталогов
user1…user5 – домашние каталоги пользователей.
Цифрами обозначены внутренние каталоги.
file1… file7 – текстовые файлы.
test1… test3 – исполняемые файлы.
Для создания, исполняемого файлы, напишем простейшую программу на языке С++ и откомпилируем ее с помощью утилиты gcc. Используя текстовый редактор nano, создадим текстовый файл test.c с текстом программы:
#include <stdio.h>
main(){
printf(“Hello World!\n”);
}
Рис. 4. Пример содержания исполняемого файла
Сохранив файл, выполним команду:
vi /home/user/test.c
gcc -o test1 test.c
Появиться исполняемый файл, который можно запустить с помощью команды
./test1
Рис. 5. Запуск исполняемого файла test1
И так сделать для всех исполняемых файлов в лабораторной работе.
Вывод:
В ходе выполнения лабораторной работы №2 были изучены права доступа пользователей операционной системы Linux. Было изучено создание пользователей, их каталогов и файлов, а также освоили основные команды по обработке и управлению правами доступа.