Цель работы:
Изучить особенности и освоить навыки администрирования локальных учётных записей пользователей и групп в Astra Linux с использованием командной строки и графического интерфейса.
Время выполнения работы: 4 академических часа.
Краткие теоретические сведения:
Операционная система специального назначения (ОССН) Astra Linux Special Edition — многопользовательская ОС, потому учётная запись пользователя — ключевой элемент всей системы управления доступом. Для идентификации учётных записей пользователей и групп в ОССН как во всех ОС семейства Linux используются uid и gid соответственно.
Когда пользователь регистрируется в системе (проходит процедуру авторизации, например, вводя системное имя и пароль), он идентифицируется с учётной записью, в которой система хранит информацию о каждом пользователе: его системное имя и некоторые другие сведения, необходимые для работы с ним. Именно с учётными записями, а не с самими пользователями, и работает система. Ниже приведён список этих сведений.
Системное имя (user name).
Это то имя, которое вводит пользователь в ответ на приглашение login:. Оно может содержать только латинские буквы и знак “_”. Это имя используется также в качестве имени учётной записи.
Идентификатор пользователя (UID).
Linux связывает системное имя c идентификатором пользователя в системе — UID (User ID). UID — это положительное целое число, по которому система и отслеживает пользователей. Обычно это число выбирается автоматически при регистрации учётной записи, однако оно не может быть совершенно произвольным. В Linux есть некоторые соглашения относительно того, каким типам пользователей могут быть выданы идентификаторы из того или иного диапазона. В частности, UID от “0” до “100” зарезервированы для псевдопользователей.
Идентификатор группы (GID).
Кроме идентификационного номера пользователя с учётной записью связан идентификатор группы. Группы пользователей применяются для организации доступа нескольких пользователей к некоторым ресурсам. У группы, так же, как и у пользователя, есть имя и идентификационный номер — GID (Group ID). В Linux каждый пользователь должен принадлежать как минимум к одной группе — группе по умолчанию. При создании учётной записи пользователя обычно создаётся и группа, имя которой совпадает с системным именем, именно эта группа будет использоваться как группа по умолчанию для этого пользователя. Пользователь может входить более чем в одну группу, но в учётной записи указывается только номер группы по умолчанию. Группы позволяют регулировать доступ нескольких пользователей к различным ресурсам.
Полное имя (full name).
Помимо системного имени в учётной записи содержится и полное имя (имя и фамилия) использующего данную учётную запись человека. Конечно, пользователь может указать что угодно в качестве своего имени и фамилии. Полное имя необходимо не столько системе, сколько людям — чтобы иметь возможность определить, кому принадлежит учётная запись.
Домашний каталог (home directory)
Файлы всех пользователей в Linux хранятся раздельно, у каждого пользователя есть собственный домашний каталог, в котором он может хранить свои данные. Доступ других пользователей к домашнему каталогу пользователя может быть ограничен. Информация о домашнем каталоге обязательно должна присутствовать в учётной записи, потому что именно с него начинает работу пользователь, зарегистрировавшийся в системе.
Начальная оболочка (login shell)
Важнейший способ взаимодействовать с системой Linux — командная строка, которая позволяет пользователю вести «диалог» с системой: передавать ей команды и получать её ответы. Для этой цели служит специальная программа — командная оболочка (или интерпретатор командной строки), по-английски — shell. Начальная оболочка (login shell) запускается при входе пользователя в систему в текстовом режиме (например, на виртуальной консоли). Поскольку в Linux доступно несколько разных командных оболочек, в учётной записи указано, какую из командных оболочек нужно запустить для данного пользователя. Если специально не указывать начальную оболочку при создании учётной записи, она будет назначена по умолчанию, вероятнее всего это будет bash.
Каждый пользователь должен принадлежать как минимум к одной группе — первичной группе. При создании учётной записи пользователя командой adduser или с использованием графической утилиты flу-admin-smc создаётся группа, имя которой совпадает с системным именем учётной записи пользователя. Данная группа применяется как первичная группа и будет задана идентификатором в учётной записи пользователя, расположенной в файле /etc/passwd. Учётная запись пользователя может входить более чем в одну группу, тогда имена таких групп (в ОССН данные группы называются вторичными) будут находиться в файле /etc/group.
Как правило, файлы, владельцами которых являются учётные записи пользователей, хранятся в соответствующих им домашних каталогах, находящихся в каталоге /home. При этом во время первого входа в ОССН с заданными уровнем доступа (Num1), уровнем целостности (Num2) и набором неиерархических категорий (Num3) создаётся уникальный каталог с именем вида:
/home /.pdp / имя_пользователя /Num1:Num2:Num2:0, что позволяет распределить по каталогам файлы (в том числе документы) в зависимости от их уровней конфиденциальности и целостности. Доступ субъект-сессий (процессов), функционирующих от имени других учётных записей пользователей, к домашнему каталогу в ОССН версии 1.5 может быть ограничен с использованием как параметров (меток конфиденциальности) мандатного управления доступом, так и дискреционных прав доступа.
Данные об учётных записях пользователей и группах хранятся в файлах /etc/passwd и /etc/group соответственно. Если в файле /etc/passwd для некоторой учётной записи пользователя вместо пароля указан символ «х», то свёртка пароля находится в файле /etc/shadow. Его структура представляет собой список, каждая строка которого состоит из элементов, разделённых символом «:», среди которых число дней с 1 января 1970 г. до дня последнего изменения пароля, минимальное число дней действия пароля со дня его последнего изменения, максимальное число дней действия пароля, за сколько дней до устаревания пароля ОССН начнёт выдавать предупреждения, число дней со времени обязательной смены пароля до блокировки учётной записи пользователя, день блокировки учётной записи пользователя.
Для администрирования параметров учётных записей пользователей используются следующие команды и утилиты :
- user add и adduser — команды добавления учётной записи пользователя;
- passwd — команда смены пароля учётной записи пользователя;
- usermod — команда модификации параметров уже существующей учётной записи;
- userdel — команда удаления учётной записи пользователя;
- gpasswd — команда управления группами;
- addgroup — команда создания группы;
- delgroup — команда удаления группы;
- fly-admin-smc — графическая утилита, позволяющая решать комплекс задач по администрированию учётных записей пользователей и групп, в том числе администрировать параметры мандатного управления доступом и мандатного контроля целостности.
Используемое методическое и лабораторное обеспечение
- ОССН версии 1.5, в которой создана учётная запись пользователя user, с параметрами: максимальный и минимальный уровни доступа — 0, неиерархические категории — нет, уровень целостности — «Высокий», входит в группу администраторов — astra-admin (вторичная группа), разрешено выполнение привилегированных команд (sudo).
- Документация: «Операционная система специального назначения «Astra Linux Special Edition». Руководство администратора. Часть 1», «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1», «Операционная система специального назначения «Astra Linux Special Edition». Руководство пользователя».
- Для выполнения работы в течение двух занятий необходимо обеспечить возможность сохранения состояния ОССН за счёт применения технологий виртуализации (создания виртуальных машин с ОССН).
Порядок выполнения работы
- Начать работу со входа в ОССН в графическом режиме с учётной записью пользователя user (уровень доступа — 0, неиерархические категории — нет, уровень целостности — «Низкий»).
- Запустить терминал Fly.
- Определить текущую учётную запись пользователя с использованием команды whoami.
- Проверить наличие права доступа на чтение к файлу /etc/ passwd и получить следующие данные, выполнив команды cat /etc/passwd или less /etc/passwd:
- количество параметров учётных записей пользователей;
- количество параметров, совпадающих у всех учётных записей пользователей;
- текущее число учётных записей пользователей;
- количество различных используемых командных интерпретаторов.
- Вывести строку, соответствующую текущей учётной записи пользователя, из файла /etc/passwd с использованием команды cat /etc/passwd | grep «^$(whoami)», при этом получить следующие данные:
- наличие пароля или свёртки пароля (вывести эти данные командой
cat /etc/passwd | grep “^$(whoami)» | cut -d : -f 2);
- группа и идентификатор текущей учётной записи пользователя;
- командный интерпретатор по умолчанию для текущей учётной записи пользователя.
- Найти отличие исполняемых файлов adduser и useradd, для чего:
- определить расположение файлов adduser и useradd с использованием команд sudo which adduser и sudo which user add;
- вывести в терминал Fly содержимое обоих файлов командой cat, определить принципиальное их отличие.
- Добавить две учётные записи пользователей userl и user2 (с соответствующими домашними каталогами) с использованием команд sudo adduser userl и sudo adduser user2.
- Проанализировать изменения в ОССН, связанные с добавлением новых учётных записей пользователей, для чего определить:
- домашние каталоги учётных записей пользователей по данным файла /etc/passwd;
- алгоритм свёртки паролей учётных записей пользователей по файлу /etc/shadow;
- скрипты, которые были перемещены в домашние каталоги учётных записей пользователей из каталога /etc/skel, при этом сравнить файлы в каталоге /etc/skel с файлами домашних каталогов учётных записей пользователей с использованием команды sudo diff -s /etc/skel /home/user | grep «идентичны”;
- новые группы в файле /etc/group;
- идентификаторы новых учётных записей пользователей и групп в файлах /etc/group и /etc/passwd.
- Осуществить попытку создания учётных записей пользователей user3, user4 командой user add без использования команды sudo, проанализировать результат. Выполнить те же действия с применением команды sudo, после чего определить:
- домашние каталоги учётных записей пользователей по файлу /etc/passwd;
- были ли созданы домашние каталоги учётных записей пользователей;
- наличие сверток паролей учётных записей пользователей по файлам /etc/passwd и /etc/shadow;
- новые группы в файле /etc/group;
- идентификаторы новых учётных записей пользователей в файле /etc/passwd;
- командный интерпретатор по умолчанию для созданных учётных записей пользователей.
- Реализовать попытки задать пароль для учётных записей пользователей user3 и user4 с использованием команд passwd user3
и passwd user4 без использования и с использованием команды sudo, сравнить результаты. Определить алгоритм свертки пароля этих учётных записей пользователей по файлу/etc/shadow.
- Выполнить дополнительную настройку ОССН для обеспечения возможности входа с учётной записью пользователя user3, для чего осуществить следующие действия:
- выполнить вход в ОССН с учётной записью пользователя user3, введя его имя и пароль, проанализировать предупреждения, выдаваемые ОССН;
- войти в ОССН с учётной записью пользователя user;
- создать домашний каталог учётной записи пользователя user3 командами sudo mkdir /home/user3, и назначить ему необходимые права доступа: sudo chown user3:user3 /home/user3, sudo chmod 750 /home/ user3\
- проверить возможность входа в ОССН с учётной записью пользователя user3;
- войти в ОССН с учётной записью пользователя user.
- Запустить терминал Fly в «привилегированном» режиме командой sudo fly-term.
- Модифицировать параметры учётных записей пользователей:
- установить домашний каталог учётной записи пользователя userl командой usermod -d /home/userone userl;
- установить домашний каталог учётной записи пользователя user2 командой usermod -т -d /home/usertwo user2;
- проверить содержимое каталога /home командой Is -la и определить отличия в результатах выполнения команды usermod на предыдущих этапах.
- Осуществить последовательные попытки входа в ОССН с учётными записями созданных пользователей userl и user2, при этом осуществить следующие действия:
- проанализировать причины неудачного входа в ОССН с учётной записью пользователя user1, сравнив отличия в командах, использованных при модификации параметров учётных записей пользователей user1 и user2;
- вернуть домашний каталог учётной записи пользователя userl командой usermod -т -d /home/userl userl, рассмотреть результат её выполнения, проверить запись о домашнем каталоге в файле / etc/passwd;
- повторно установить домашний каталог пользователя userl командой usermod -т -d /home/userone userl, проверить результат;
- проверить возможность входа в ОССН с учётной записью пользователя userl, выйти из ОССН.
- Войти в ОССН с учётной записью пользователя user. Запустить графическую утилиту редактирования учетных записей пользователей «Управление политикой безопасности» через меню «Настройки» главного пользовательского меню.
- Открыть раздел настройки локальных пользователей, и для созданных учётных записей пользователей userl, user2, user3, user4 произвольно задать их параметры:
- максимальный и минимальный уровни доступа;
- минимальные и максимальные наборы неиерархических категорий;
- максимальный уровень целостности.
- Настроить параметры учётной записи пользователя user2:
- установить минимальное количество дней между сменой пароля — 180 дней, число дней до выдачи предупреждения о смене пароля — 5 дней;
- выбрать максимальный уровень — «Уровень_3»;
- проверить возможность задать минимальный или максимальный набор неиерархических категорий.
- Войти в ОССН с учётной записью пользователя user2, выбрав уровень доступа «Уровень_1» и проверив возможность выбора набора неиерархических категорий и уровня целостности. Создать в каталоге «Документы» файл l.txt. Выйти из ОССН.
- Войти в ОССН с учётной записью пользователя user2, выбрав уровень доступа «Уровень_2». Создать в каталоге «Документы» файл 2.txt.
- Проверить возможность чтения объектов файловой системы ОССН, владельцем которых является учётная запись пользователя user2 (на текущем уровня доступа «Уровень_2»):
- открыть каталог «Документы» уровня доступа «Уровень_1» (/home/ user2 / mac/1:0:0:0/Документы);
- открыть файл l.txt, проверив возможность его чтения или записи;
- выйти из ОССН.
- Проверить наличие и возможность чтения объектов файловой ОССН, владельцем которых является учётная запись пользователя user2 на текущем уровня доступа («Уровень_1»):
- войти в ОССН с учётной записью пользователя user2, выбрав уровень доступа «Уровень_1»;
- проверить возможность открытия каталога «Документы» для уровня доступа «Уровень_2» (/home/user2/mac/2:0:0:0/Документы) ;
- выйти из ОССН.
- Войти в ОССН с учётной записью пользователя user. Запустить графическую утилиту «Управление политикой безопасности». Сравнить списки вторичных групп для учётных записей пользователей user, userl, user2, user3, user4, при этом определив:
- учётные записи пользователей, являющиеся администраторами (входящими в группу astra-admin);
- учётные записи пользователей, входящие в группу users.
- Создать новую учётную запись пользователя userlO, при этом:
- установить минимальное количество дней между сменой пароля — 180 дней и число дней выдачи предупреждения до смены пароля — 5 дней;
- выбрать максимальный уровень доступа — «Уровень_3», минимальный уровень доступа — «Уровень_0»;
- добавить в список вторичных групп группы astra-admin и Ip-admin;
- проверить возможность входа в ОССН с учётной записью пользователя user10 с уровнями доступа «Уровень_2» или «Уровень_3».
- Войти в ОССН с учётной записью пользователя user10. Проверить возможность создания новой учётной записи пользователя user1 с использованием графической утилиты fly-admin-smc без использования и с использованием команды sudo. Выйти из ОССН.
- Войти в ОССН с учётной записью пользователя user1 с уровнем доступа «Уровень-0». Осуществить попытки запуска графической утилиты «Управление политикой безопасности» через главное пользовательское меню и запуска её с использованием терминала Fly командой fly-admin-smc. Проанализировать результаты и предупреждения ОССН.
- Осуществить переключение между сеансами различных учётных записей пользователей без выхода из ОССН:
- через меню «Завершение работы» главного пользовательского меню перейти в подменю «Сессия» и далее «Отдельная» и войти в ОССН с учётной записью пользователя user;
- аналогично вернуться и далее закрыть сеанс от имени учётной записи пользователя userl.
- С использованием графической утилиты «Управление политикой безопасности» заблокировать учётную запись пользователя user1. Проверить изменения файлов /etc/passwd и /etc/shadow, осуществив следующие действия:
- в терминале Fly выполнить команды sudo cat /etc/passwd и sudo cat /etc/shadow;
- проверить наличие блокировки учётной записи пользователя по файлу /etc/shadow (должен быть установлен знак «!» в начале свёртки пароля);
- проверить функционирование блокировки путём осуществления попытки входа в ОССН в отдельном сеансе от имени учётной записи пользователя userl;
- снять блокировку и проверить возможность входа в ОССН с учётной записью пользователя userl.
- Выполнить удаление учётных записей пользователей:
- удалить учётную запись пользователя userl 0 с использованием графической утилиты «Управление политикой безопасности»;
- удалить учётную запись пользователя user2 командой sudo deluser user2;
- удалить учётную запись пользователя userl командой sudo userdel userl;
- проверить наличие домашних каталогов учётных записей пользователей userl и user2, после чего с использованием справочной информации по команде userdel определить её параметры, позволяющие удалять содержимое домашнего каталога учётной записи пользователя;
- удалить домашние каталоги учётных записей пользователей userl и user2 непосредственно командами rm -r /home/userone и rm -r /home/user two, осуществив попытки удаления без использования и с использованием команды sudo;
- проверить наличие домашних каталогов учётных записей пользователей userl, user2 и user10 в каталоге /home/.pdp
- Создать новые группу group3 с использованием графической утилиты «Управление политикой безопасности» и группу group4 командой sudo addgroup group4, выполненной в терминале Fly.
- Добавить учётную запись пользователя user3 во вторичную группу groups командой usermod -a -G groupS user3 и во вторичную группу group4 с помощью графической утилиты «Управление политикой безопасности». Проверить включение учётной записи пользователя user3 в группы group3 и group4 путем просмотра содержимого файла /etc/group командами cat /etc/group | grep «^group3» и cat /etc/group | grep «^group4”.
- Выполнить удаление учётной записи пользователя user3 из группы group3 с использованием графической утилиты «Управление политикой безопасности» и из группы group4 командой gpasswd -d user3 group4.
- Удалить группу group3 командой sudo delgroup group3 в терминале Fly и группу group4 с помощью графической утилиты «Управление политикой безопасности».
- Изучить порядок хранения параметров мандатного управления доступом и мандатного контроля целостности для учётных записей пользователей. Для этого выполнить следующие действия:
- определить уровни доступа, заданные в ОССН, для этого вывести в терминал Fly содержимое файла /etc /parsec /mac_categoris
- определить неиерархические категории, заданные в ОССН, для этого вывести в терминал Fly содержимое файла /etc/parsec/ mac-categories;
- определить идентификатор учётной записи пользователя user по файлу /etc/passwd командой cat /etc/passwd | grep “^user:” | cut -d : -f 3
- считать параметры мандатного управления доступом и мандатного контроля целостности для учётной записи пользователя user10 командой cat /etc/parsec/macdb/$(cat /etc/passwd \ grep “^user10:n | cut -d :-f 3) и проверить их соответствие данным, отображаемым в графической утилите «Управление политикой безопасности».
Содержание отчёта о выполненной работе
В отчёте о выполненной работе необходимо указать:
- Полный перечень использованных команд с кратким описанием их назначения.
- Примеры выполнения команд, которые были использованы в ходе работы с описанием результатов их выполнения.
- Описание порядка работы с графической утилитой «Управление политикой безопасности» (fly-admin-smc) при осуществлении следующих действий:
- создание новых учётной записи пользователя или группы;
- удаление существующих учётной записи пользователя или группы;
- добавление учётной записи пользователя в существующую группу;
- добавление учётной записи пользователя в группу администраторов (astra-admin);
- изменение параметров мандатного управления доступом и мандатного контроля целостности
- Список и назначение системных файлов, связанных с хранением параметров учётных записей пользователей, групп, параметров
мандатного управления доступом и мандатного контроля целостности.
Контрольные вопросы
- Какие имеются особенности создания учётных записей пользователей с использованием команд adduser, useradd и графической утилиты «Управление политикой безопасности» (fly-admin-smc), в том числе:
- какой группе должна принадлежать учётная запись пользователя, чтобы была
- возможность выполнения команды adduser?
- какими командами создаётся учётная запись пользователя, и какие дополнительные параметры при этом вводятся?
- какие ограничения накладываются на пароль учётной записи пользователя при
- его создании?
- в какие группы автоматически добавляется учётная запись пользователя?
- Как выполнять привилегированные команды?
- Создаются ли домашние каталоги учётных записей пользователей при добавлении их с использованием графической утилиты «Управление политикой безопасности»?
- Создаются ли домашние каталоги учётных записей пользователей при их добавлении с использованием команд adduser и useradd?
- Какие минимальный и максимальный уровни доступа задаются по умолчанию для учётных записей пользователей, создаваемых командами adduser и useradd?
- Какими способами можно добавить или удалить учётную запись пользователя из группы?
- Каким образом организовано хранение сущностей файловой системы ОССН, созданных процессами, обладающими различными уровнями доступа?
- Где и в каком формате хранятся параметры мандатного управления доступом и мандатного контроля целостности, заданные в ОССН?
- Где и в каком формате хранятся параметры мандатного управления доступом и мандатного контроля целостности для учётных записей пользователей?
- Какой командой задаётся максимальный набор неиерархических категорий для текущей учётной записи пользователя?
- Каким образом осуществляется переход от текущего сеанса к сеансу, функционирующему от имени другой учётной записи пользователя?
- Позволяют ли команды useradd и adduser задавать параметры мандатного управления доступом и мандатного контроля целостности для создаваемых учётных записей пользователей?