Введение
Добро пожаловать в последний день вашей первой недели в корпорации LabEx! Это было невероятное путешествие: от первой разведывательной миссии до роли Хранителя крепости. Теперь компания предлагает вам должность, требующую высочайшего доверия: стать Хранителем ключей проекта Phoenix.
CTO приглашает вас на важный инструктаж:
«Проект Phoenix входит в финальную фазу, и нам нужно полностью контролировать доступ к нашим системам. К нам присоединяется новый ведущий разработчик — Brenda Smith. Она возглавит заключительный этап работы. К сожалению, мы также выяснили, что John Doe, подрядчик из предыдущей команды, получил несанкционированный доступ во время инцидента безопасности, который вы расследовали ранее. Его доступ необходимо немедленно отозвать».
Теперь, как Хранитель ключей, вы управляете точкой доступа сотрудников к проекту Phoenix. От ваших решений по управлению пользователями зависит, кто сможет участвовать в самом важном проекте TechNova, а кому из соображений безопасности необходимо закрыть доступ.
Настал момент продемонстрировать полное владение администрированием пользователей Linux. Будущее проекта Phoenix зависит от вашей способности предоставлять доступ тем, кому он нужен, и блокировать его для тех, кто может поставить систему под угрозу. Завершим эту миссию!
Добавление нового разработчика в систему
Сначала создайте учётную запись для Brenda Smith — ведущего разработчика, который возглавит финальный этап разработки проекта Phoenix. Согласно политике TechNova, имена пользователей должны иметь формат первая_буква_имени.фамилия.
Задания
- Создайте учётную запись пользователя для Brenda Smith.
Требования
- Имя пользователя должно быть
b.smith. - Используйте команду
useradd, чтобы добавить нового пользователя в систему. Вам потребуются праваsudo.
Подсказки
- В этом испытании нужно использовать стандартную команду
useradd, а не интерактивную вспомогательную командуadduser. - Не забудьте использовать
sudo, чтобы выполнить команду с административными правами.
Примеры
После успешного создания учётной записи новая запись пользователя должна появиться в системной базе данных пользователей:
$ grep "b.smith" /etc/passwd
b.smith:x:5002:5004::/home/b.smith:/bin/sh
Система назначит учётной записи идентификатор пользователя и идентификатор группы. Проверить наличие учётной записи и посмотреть её параметры можно с помощью команды:
$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith)
Создание отдельного домашнего каталога для нового пользователя
Пользователь уже создан, но вы забыли важный шаг! Brenda, как ведущий разработчик финального этапа проекта Phoenix, должна иметь собственное защищённое рабочее пространство для хранения важных файлов проекта и инструментов разработки. Убедитесь, что для неё создан домашний каталог.
Задания
- Создайте домашний каталог пользователя
b.smithпо пути/home/b.smith.
Требования
- Домашний каталог должен быть создан для пользователя
b.smith. - Используйте параметр команды
useradd, который автоматически создаёт домашний каталог. Если пользователь уже был создан без домашнего каталога, возможно, сначала потребуется удалить его, а затем создать заново с правильными параметрами. - Допустимы варианты с
-mили--create-home; этот параметр может находиться до или после имени пользователя.
Подсказки
- Для удаления пользователя используйте команду
userdel. Например:sudo userdel b.smith. - У команды
useraddесть специальный параметр для создания домашнего каталога пользователя. Описание параметров-mи--create-homeможно найти наman-странице useradd.
Примеры
После создания пользователя с домашним каталогом в списке каталога /home/ должен появиться новый каталог:
$ ls -la /home/
drwxr-xr-x 1 root root 47 Sep 3 16:32 .
drwxr-xr-x 1 root root 62 Sep 3 16:31 ..
-rw-r--r-- 1 root root 58 Jul 18 2024 .zshrc
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 b.smith
drwxr-x--- 2 j.doe j.doe 57 Sep 3 16:31 j.doe
drwxr-x--- 1 labex labex 4096 Sep 3 16:35 labex
Домашний каталог будет принадлежать пользователю и иметь ограниченные разрешения: доступ к нему будет только у владельца и группы. Чтобы просмотреть содержимое каталога, могут потребоваться соответствующие разрешения или команда sudo:
$ sudo ls -la /home/b.smith/
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 .
drwxr-xr-x 1 root root 47 Sep 3 16:32 ..
-rw-r--r-- 1 b.smith b.smith 220 Sep 3 16:32 .bash_logout
-rw-r--r-- 1 b.smith b.smith 3771 Sep 3 16:32 .bashrc
-rw-r--r-- 1 b.smith b.smith 655 Sep 3 16:32 .profile
Назначение первоначального пароля новому пользователю
Учётная запись b.smith создана, но сейчас она заблокирована. Без пароля Brenda не сможет получить доступ к системам проекта Phoenix и приступить к своей руководящей роли. Следующая задача — установить для её учётной записи первоначальный безопасный пароль.
Задания
- Установите пароль для пользователя
b.smith.
Требования
- Используйте стандартную команду Linux для изменения пароля пользователя.
- Система попросит ввести новый пароль и подтвердить его. Можно использовать любой простой пароль, например
password123.
Подсказки
- Для установки или изменения паролей используется команда
passwd. - Поскольку вы меняете пароль другого пользователя, потребуются права
sudo. Синтаксис:sudo passwd <username>.
Примеры
После успешной установки пароля в файле с хешами паролей должна появиться запись для учётной записи. Проверить это можно в файле shadow (для проверки потребуются права root):
$ sudo grep "^b.smith:" /etc/shadow
b.smith:$y$j9T$XbJLH9LJgY518Th4qcd1V0$NrfHOJ2MGm/1OhLGfpfMQkvPasV23Eenhwl9bA0i8O4:20334:0:99999:7:::
Добавление нового разработчика в группу «developers»
Чтобы Brenda получила доступ к файлам и репозиториям проекта Phoenix, которые вы защищали всю неделю, добавьте её в группу developers. Это та же группа, с которой вы работали в TechNova; она обладает специальными разрешениями, необходимыми проекту.
Задания
- Добавьте пользователя
b.smithв группуdevelopers.
Требования
- Пользователь
b.smithдолжен быть членом группыdevelopers. - Существующие членства пользователя в других группах не должны быть удалены.
Подсказки
- Для изменения учётной записи пользователя используется команда
usermod. - Найдите параметры
-a(добавить) и-G(группы). Их совместное использование добавляет пользователя в новую группу, не удаляя его членство в существующих группах.
Примеры
После успешного добавления пользователя в группу developers членство должно отобразиться в списке групп:
$ groups b.smith
b.smith : b.smith developers
Также можно использовать команду id, чтобы получить подробную информацию о группах:
$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith),5003(developers)
Теперь пользователь должен получить доступ к файлам и каталогам, доступным группе developers. Проверить существование группы можно в файле групп:
$ grep "^developers:" /etc/group
developers:x:5003:b.smith
Обратите внимание: b.smith появился в списке участников группы. Это подтверждает, что пользователь добавлен в группу, а существующие членства сохранены.
Временная блокировка учётной записи увольняющегося сотрудника
Теперь выполните последнее и самое важное с точки зрения безопасности задание недели для проекта Phoenix. В ходе предыдущего расследования выяснилось, что John Doe (j.doe) мог получить несанкционированный доступ во время инцидента безопасности. CTO распорядился немедленно удалить его доступ ко всем системам TechNova. Однако юридический отдел и команда по соблюдению требований должны сохранить его файлы для текущего аудита безопасности. Поэтому заблокируйте учётную запись, а не удаляйте её полностью.
Задания
- Заблокируйте учётную запись пользователя
j.doe, чтобы запретить вход в систему.
Требования
- Учётная запись пользователя
j.doeдолжна быть заблокирована. - Не удаляйте пользователя и его домашний каталог.
Подсказки
- Можно использовать команду
usermodс параметром-L(блокировка). - Также можно использовать команду
passwdс параметром-l(блокировка), который даёт тот же результат. - Не забудьте использовать
sudo.
Примеры
Проверить блокировку учётной записи можно в файле shadow:
$ sudo grep "^j.doe:" /etc/shadow
j.doe:!:20334:0:99999:7:::
Обратите внимание на восклицательный знак (!) в начале поля пароля: он означает, что учётная запись заблокирована. Исходный хеш пароля сохраняется после !, чтобы при необходимости учётную запись можно было разблокировать в будущем.
Итоги
Поздравляем, Хранитель ключей! Вы успешно завершили свою невероятную первую неделю в корпорации LabEx и обеспечили безопасность проекта Phoenix перед его финальным этапом.
За эту насыщенную неделю вы прошли путь от нового младшего системного администратора до доверенного хранителя важнейших систем TechNova. В финальном испытании вы освоили основные команды управления пользователями:
- Создали учётную запись нового ведущего разработчика, который руководит завершением проекта Phoenix.
- Настроили защищённые домашние каталоги для важных участников команды.
- Реализовали надёжное управление паролями с помощью
passwd. - Управляли членством в группах, чтобы обеспечить надлежащий доступ к ресурсам проекта Phoenix.
- Защитили систему, отключив несанкционированный доступ и сохранив следы аудита.
От первоначальной разведки до проектирования цифровой архитектуры, расследования журналов, реализации мер безопасности и, наконец, управления пользователями — вы продемонстрировали полный набор навыков профессионального системного администратора. CTO подтвердил вашу постоянную должность и уже обсуждает возможности повышения.
Теперь проект Phoenix в надёжных руках, а будущее TechNova защищено благодаря вашей преданности делу и профессионализму!



