Разграничение полномочий и доступа к объектам операционной системы Unix

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 63. Практическая работа по теме Разграничение полномочий.doc

ПРАКТИЧЕСКАЯ РАБОТА №6

Тема: Разграничение полномочий и доступа к объектам операционной системы Unix

Цель: формирование умений разграничения полномочий и доступа к объектам операционной системы Unix

Оборудование: персональный компьютер, ОС Unix.

Время выполнения: 2 часа

Теоретический материал

Linux - система многопользовательская, а потому пользователь — ключевое понятие для организации всей системы доступа в Linux. Когда пользователь регистрируется в системе (проходит процедуру авторизации, например, вводя системное имя и пароль), он идентифицируется с учётной записью, в которой система хранит информацию о каждом пользователе.

Системное имя (user name)

Это то имя, которое вводит пользователь в ответ на приглашение login:. Оно может содержать только латинские буквы и знак “_”. Это имя используется также в качестве имени учётной записи.

Идентификатор пользователя (UID)

Linux связывает системное имя c идентификатором пользователя в системе — UID (User ID). UID — это положительное целое число, по которому система и отслеживает пользователей.

Идентификатор группы (GID)

Кроме идентификационного номера пользователя с учётной записью связан идентификатор группы. Группы пользователей применяются для организации доступа нескольких пользователей к некоторым ресурсам. У группы, так же, как и у пользователя, есть имя и идентификационный номер — GID (Group ID). В Linux каждый пользователь должен принадлежать как минимум к одной группе — группе по умолчанию. При создании учётной записи пользователя обычно создаётся и группа, имя которой совпадает с системным именем3, именно эта группа будет использоваться как группа по умолчанию для этого пользователя. Пользователь может входить более чем в одну группу, но в учётной записи указывается только номер группы по умолчанию. Группы позволяют регулировать доступ нескольких пользователей к различным ресурсам.

Начальная оболочка (login shell)

Важнейший способ взаимодействовать с системой Linux — командная строка, которая позволяет пользователю вести «диалог» с системой: передавать ей команды и получать её ответы. Для этой цели служит специальная программа — командная оболочка (или интерпретатор командной строки), по-английски — shell. Начальная оболочка (login shell) запускается при входе пользователя в систему в текстовом режиме (например, на виртуальной консоли). Поскольку в Linux доступно несколько разных командных оболочек, в учётной записи указано, какую из командных оболочек нужно запустить для данного пользователя. Если специально не указывать начальную оболочку при создании учётной записи, она будет назначена по умолчанию, вероятнее всего это будет bash.

Все перечисленные данные об учётных записях хранятся в файле /etc/passwd. Сведения о конкретной учётной записи пользователя можно получить с помощью утилиты getent:

Пример 1. Сведения об учётной записи

tester@tacit tester]$ getent passwd tester
tester:x:506:506:Test Testovitch:/home/tester:/bin/bash
[tester@tacit tester]$

Первый параметр, passwd — это название базы, в которой нужно производить поиск, оно совпадает с именем соответствующего конфигурационного файла. Второй параметр,tester — это название учётной записи пользователя (системное имя). getent выводит ту строчку /etc/passwd, где описана искомая учётная запись: в ней через “:” указаны системное имя, пароль (тут стоит буква “x”, потому что пароль спрятан в другом месте, об этом ниже), UID, GID, полное имя, домашний каталог и начальная оболочка.

В Linux пароль пользователя в явном виде не хранится нигде, но только в зашифрованном. В современных системах обычно применяются так называемые «теневые пароли» (shadow passwords), которые хранятся отдельно от остальных сведений об учётной записи, а также позволяют назначать дополнительные ограничения, в частности, «срок годности» пароля. В зависимости от строгости политики безопасности зашифрованные пароли пользователей могут храниться в общем файле /etc/shadow (менее строго) или в отдельном файле shadow для каждого пользователя. В ALT Linux по умолчанию используется схема tcb, реализующая более строгую политику. Для просмотра сведений из файла shadowтребуются полномочия суперпользователя, это можно сделать с помощью команды getent passwd tester. Подробнее о возможностях теневых паролей можно прочитать в руководствах shadow(5) и tcb(5).

Также отдельно хранится информация обо всех группах пользователей в системе, для этого предназначен файл /etc/group. Информацию о конкретной группе можно получить с помощью той же утилиты getent:

Пример 2. Сведения о группе

[tester@tacit tester]$ getent group audio
audio:x:81:yura,fedya
[tester@tacit tester]$

Запись в файле /etc/group устроена очень просто: сначала идёт имя группы (как и имя учётной записи, потом поле для пароля (здесь опять “х”, но пароли для группы используются очень редко), GID, список через запятую названий учётных записей (имён пользователей), входящих в данную группу. Любой пользователь может получить список названий групп, в которых он состоит командой groups, а более подробные сведения о своей или чужой учётной записи командой id имя_пользователя. Принадлежность к группе существенна только в одном отношении — прав доступа, поскольку для каждого файла определён не только пользователь-владелец, но и группа-владелец.

Управление пользователями

Создание пользователей

Для создания полноценного пользователя Linux нужно выполнить несколько относительно независимых действий:

-        создать запись в /etc/passwd, где присвоить учётной записи уникальное имя, UID и пр.;

-        создать домашний каталог пользователя, обеспечить пользователю доступ к его домашнему каталогу (сделать его владельцем каталога);

-        поместить в домашний каталог стандартное наполнение (обычно конфигурационные файлы), взятое из /etc/skel;

-        модифицировать системные конфигурационные файлы, в частности, создать хранилище для приходящей почты для данного пользователя (/var/spool/mail/tester).

Все эти действия могут быть выполнены и вручную, однако это довольно неудобно и можно что-нибудь забыть. Для упрощения процесса используется утилита useradd (она же по традиции называется adduser), для выполнения которой, естественно, потребуются полномочия администратора. В простейшем случае достаточно будет двух шагов:

Пример 3. Создание пользователя

root@tacit ~# useradd test
root@tacit ~# passwd test
passwd: updating all authentication tokens for user test.
You can now choose the new password or passphrase.
. . .
Enter new password: 

Сначала useradd добавляет учётную запись (имя пользователя — единственный параметр, в нашем примере — test), заполняя её значениями по умолчанию и проводя все необходимые изменения в системе. С помощью дополнительных параметров при вызове useradd можно явно указать значение для того или иного поля учётной записи, также эта утилита позволяет модифицировать параметры создания пользователей по умолчанию. Подробности можно найти в руководстве useradd(8). Утилита passwd, вызванная с правами суперпользователя, позволяет назначить данному пользователю любой пароль. При этом сведения о предшествующем пароле данного пользователя (если таковой был), будут полностью утрачены. passwd, вызванная обычным пользователем (без параметров), позволяет ему сменить свой собственный пароль, но для этого потребуется ввести текущий пароль пользователя.

Существуют аналогичные useradd утилиты для модификации параметров уже существующей учётной записи (usermod) и для удаления пользователей (userdel). Пользователь также может изменить некоторые некритичные сведения в своей учётной записи самостоятельно. В частности, для установки своего полного имени и некоторых других информационных полей учётной записи служит утилита chfn(1) из пакета shadow-change, сменить начальную оболочку поможет утилита chsh(1) (позволяет выбрать только одну из оболочек, перечисленных в /etc/shells) из того же пакета. Обратите внимание, что в ALT Linux пользователь имеет право редактировать собственную учётную запись только в том случае, если установлен соответствующий режим доступа: команда control chsh должна возвращать public, аналогично control chfn. Установить нужный доступ может суперпользователь командой control chsh public (аналогично для chfn).

Самую востребованную операцию по работе с группами — добавление пользователя в группу — проще всего выполнить простым редактированием файла /etc/group. Достаточно открыть этот файл в любом текстовом редакторе (естественно, с правами суперпользователя), найти строчку, начинающуюся с названия нужной группы, и добавить в конец этой строки имя нужного пользователя через запятую). Для управления группами существует комплект утилит groupadd(8), groupdel(8), groupmod(8), подробности о работе с ними можно найти в соответствующих руководствах.

Задания:

1.  Выбрать при загрузке операционной системы вариант Unix.

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

3.  Изучить способы регистрации пользователей и групп в системе:

а)   запустить соответствующую системную программу (Главное меню | Система | Настройка | Прочие | Администрирование пользователей);

б)  освоить использование функций программы для управления списком отображаемых пользователей и групп (включая системных или без них);

в)  освоить применение команд программы для добавления, редактирования и удаления учетных записей пользователей и групп;

г)  создать учетную запись для себя, включив ее в группу «Users»;

д)  освоить использование функций программы для управления свойствами пароля пользователя (минимального и максимального сроков действия, срока для предупреждения об окончании срока действия, срока для отключения учетной записи после истечения срока действия пароля);

е)  запустить программу «Поиск файлов» (Главное меню | Поиск | Поиск файлов), найти и просмотреть в каталоге /etc файлы passwd, group, shadow и gshadow.

4.  Включить в отчет о лабораторной работе ответы на следующие вопросы:

а)  какая информация указывается при создании нового пользователя (привести пример);

б)  какая информация указывается при создании новой группы (привести пример);

в)  какой формат имеют записи файла passwd (привести пример);

г)  какой формат имеют записи файла group (привести пример);

д)  какой формат имеют записи файла shadow (привести пример) и для чего используется этот файл;

е)  какой формат имеют записи файла gshadow (привести пример) и для чего используется этот файл.

Для выполнения заданий этого пункта копировать в буфер содержимое соответствующего конфигурационного файла и вставлять его из буфера в нужное место отчета о выполнении лабораторной работы.

5.  Изучить средства управления настройками безопасности:

 а)  запустить соответствующую системную программу (Главное меню | Система | Настройка | Центр управления | Безопасность и конфиденциальность);

б)  открыть закладки «Конфиденциальность», «Криптография», «Профиль пользователя»;

в)  ознакомиться с параметрами настройки безопасности.

6.  Включить в отчет о лабораторной работе ответы на следующие вопросы:

а)  какие параметры конфиденциальности предусмотрены в программе;

б)  какие параметры настройки криптографии предусмотрены;

в)  какие параметры профиля пользователя предусмотрены;

г)  какие еще виды настроек безопасности предусмотрены в программе.

7.  Начать сеанс от имени созданной при выполнении п. 3.г учетной записи (Главное меню | Переключить пользователя).

8.  Освоить средства изменения пароля текущего пользователя (Главное меню | Система | Настройка | Центр управления | Безопасность и конфиденциальность | Профиль пользователя).

9.  Продолжить сеанс от имени первоначально использованной (в п.2) учетной записи.

10.  Освоить средства блокировки терминала при временном отсутствии пользователя:

а)  немедленная блокировка (Контекстное меню Рабочего стола | Заблокировать сеанс или Главное меню | Заблокировать сеанс);

б)  использование хранителя экрана (Контекстное меню Рабочего стола | Настроить Рабочий стол | Хранитель экрана).

11.  Включить в отчет о лабораторной работе ответы на следующие вопросы:

а)  в чем разница между изученными средствами блокировки терминала и какой из них является, на Ваш взгляд, более предпочтительным и почему;

б)  какие параметры используются при настройке хранителя экрана.

12.  Освоить средства разграничения доступа к файлам:

а)  с помощью программы «Поиск файлов» (см. п. 3.е) или Рабочий стол | Устройства | Устройство 10G и команды «Свойства» контекстного меню файла (закладка «Права») получить и включить в отчет о лабораторной работе права доступа пользователей к файлам passwd, group, shadow и gshadow (каталог /etc), каталогу /etc, файлу /usr/bin/passwd, домашнему каталогу созданной при выполнении п. 3.г учетной записи (в каталоге /home), каталогу /tmp;

 б)  с помощью системной консоли (Главное меню | Система | Консоль (Терминал) или аналогичная команда) выполнить команды umask (получение значения переменной среды umask в восьмеричном виде) и umask -S (получение значения переменной среды umask в символическом виде).

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

13.  Включить в отчет о лабораторной работе ответы на следующие вопросы:

а)  почему для файлов и каталогов, перечисленных в п. 12.а, установлены именно такие права доступа (дать пояснение по каждому файлу и каталогу);

б)  почему для файла /usr/bin/passwd установлен дополнительный бит прав доступа SUID;

в)  в чем смысл использования и потенциальная опасность дополнительных битов доступа SUID и SGID;

г)  какая политика разграничения доступа к файлам используется в операционной системе Linux и чем она отличается от политики разграничения доступа к объектам в защищенных версиях операционной системы Windows;

д)  для чего используется переменная среды umask и что означает ее значение, определенное при выполнении п. 12.б;

е)  кто может изменять права доступа к файлам и каталогам в системе Linux.

14.  Освоить средства определения параметров политики аудита и просмотра журнала аудита:

а)  открыть файл /etc/syslog.conf;

б)  включить в отчет о лабораторной работе сведения о правах доступа к файлу /etc/syslog.conf (аналогично п. 12) и формате записи этого конфигурационного файла (привести пример, используя буфер для переноса содержимого файла в отчет о выполнении лабораторной работы);

в)  открыть файл /var/log/secure и ознакомиться с его содержимым (использовать буфер для переноса содержимого файла в отчет о выполнении лабораторной работы);

г)  открыть файл /var/log/messages и ознакомиться с его содержанием (использовать буфер для переноса содержимого файла в отчет о выполнении лабораторной работы);

д)  включить в отчет о лабораторной работе сведения о правах доступа к файлам, указанным в п.п. 14.в и 14.г (аналогично п. 12).

 15.  Включить в отчет о лабораторной работе ответы на следующие вопросы:

а)  в чем назначение файла /etc/syslog.conf и какая информация в нем содержится;

б)  почему к файлам /etc/syslog.conf, /var/log/secure и /var/log/messages определены именно такие права доступа;

в)  как может быть задана реакция на то или иное событие и в чем может заключаться эта реакция (помимо записи в журнал аудита).

16.  Ознакомиться с содержимым файлов, находящихся в каталоге /etc/pam.d (на примере файла login, используя буфер для переноса содержимого файла в отчет о выполнении лабораторной работы). Включить в отчет о выполнении лабораторной работы содержимое файла passwd из этого каталога и ответ на вопрос о назначении файлов из этого каталога.

17.  Если в системе установлена программа gpg (Главное меню | Дополнительные приложения), то освоить предоставляемые этой программой средства шифрования (расшифрования) файлов и текстовых сообщений. Включить в отчет о выполнении лабораторной работы сведения о вариантах использования этой программы.

18.  Сохранить отчет о выполнении лабораторной работы в виде текстового файла (созданного, например, с помощью редактора KWrite − Главное меню | Дополнительные приложения | Редакторы) в своем домашнем каталоге (в подкаталоге с идентифицирующим Вас именем). Определить для этого файла права доступа, позволяющие всем другим пользователям только знакомиться с его содержанием.

19.  После проверки отчета преподавателем удалить файл с отчетом, предварительно сохранив его на дискете в формате HTML (с помощью Рабочий стол | Устройства | Floppy), и завершить сеанс работы (Главное меню | Завершить сеанс | Выключить компьютер).

20.  Включить в отчет о лабораторной работе ответы на контрольные вопросы в соответствии с выданным преподавателем списком.

Контрольные вопросы:

1.            Какие предопределенные учетные записи пользователей существуют в Unix-системах и для кого (чего) они предназначены?

2.            Как образуется составное имя файла в Unix-системах?

3.            Какая информация содержится в каталоге в Unix-системах?

4.            Что содержится в индексе файла в Unix-системах?

5.            Где и как задаются права доступа к файлу в Unix-системах?

6.            Какие типы доступа существуют в Unix-системах? В чем их специфика для каталогов?


Скачано с www.znanio.ru