ДЕНЬ 05: Хранитель ключей

LinuxBeginner
Практиковаться сейчас

Введение

Добро пожаловать на завершающий день вашей первой недели в корпорации LabEx! Это был невероятный путь: от вашей первой разведывательной миссии до становления Стражем Крепости. Теперь руководство компании назначает вас на высшую доверенную должность: Хранитель ключей проекта «Феникс».

Технический директор (CTO) приглашает вас на важный брифинг: «Проект „Феникс“ вступает в завершающую фазу, и нам необходим абсолютный контроль над тем, кто имеет доступ к нашим системам. Мы нанимаем нового ведущего разработчика, Бренду Смит, которая возглавит финальный этап работы. К сожалению, мы также обнаружили, что Джон Доу, подрядчик из предыдущей команды, имел несанкционированный доступ во время инцидента безопасности, который вы расследовали ранее. Его доступ должен быть немедленно аннулирован».

Как Хранитель ключей, вы теперь контролируете «человеческий шлюз» проекта «Феникс». Ваши решения по управлению пользователями определят, кто сможет внести свой вклад в самый важный проект TechNova, а кто должен быть заблокирован в целях безопасности.

Это ваш шанс продемонстрировать полное мастерство администрирования пользователей Linux. Будущее проекта «Феникс» зависит от вашей способности предоставлять доступ тем, кто в нем нуждается, и отказывать тем, кто может поставить систему под угрозу. Приступим к выполнению миссии!

Регистрация нового разработчика в системе

Ваша первая задача — создать новую учетную запись для Бренды Смит, ведущего разработчика, которая возглавит финальную фазу разработки проекта «Феникс». Политика TechNova предписывает, что имена пользователей должны соответствовать формату первая_буква_имени.фамилия.

Задачи

  • Создать новую учетную запись пользователя для Бренды Смит.

Требования

  • Имя пользователя должно быть b.smith.
  • Используйте соответствующую команду для добавления нового пользователя в систему. Вам понадобятся привилегии sudo.

Подсказки

  • Какая команда используется для добавления пользователя в Linux? Обратите внимание на useradd или adduser.
  • Не забудьте использовать sudo для выполнения команд с правами администратора.

Примеры

После успешного создания новой учетной записи вы должны увидеть запись о пользователе в системной базе данных:

$ grep "b.smith" /etc/passwd
b.smith:x:5002:5004::/home/b.smith:/bin/sh

Учетная запись будет создана с назначенными системой идентификаторами пользователя (UID) и группы (GID). Вы можете проверить существование аккаунта и просмотреть детали с помощью:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith)
✨ Проверить решение и практиковаться

Создание выделенного домашнего каталога для нового пользователя

Вы создали пользователя, но забыли о важном шаге! Бренде, как ведущему разработчику проекта «Феникс», необходимо собственное безопасное рабочее пространство для хранения критически важных файлов проекта и инструментов разработки. Вы должны убедиться, что для неё создан домашний каталог.

Задачи

  • Создать домашний каталог для пользователя b.smith по пути /home/b.smith.

Требования

  • Домашний каталог должен быть создан именно для пользователя b.smith.
  • Вам следует использовать опцию команды useradd для автоматического создания домашнего каталога. Если вы уже создали пользователя без домашнего каталога, возможно, вам придется сначала удалить пользователя, а затем создать его заново правильно.

Подсказки

  • Чтобы удалить пользователя, можно использовать команду userdel. Например: sudo userdel b.smith.
  • У команды useradd есть специальный флаг для создания домашнего каталога. Посмотрите в man useradd такие опции, как -m или --create-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 создана, но в данный момент она заблокирована. Бренда не сможет войти в системы проекта «Феникс» и приступить к своим обязанностям без пароля. Ваша следующая задача — установить надежный начальный пароль для её аккаунта.

Задачи

  • Установить пароль для пользователя b.smith.

Требования

  • Используйте стандартную команду Linux для изменения пароля пользователя.
  • Вам будет предложено ввести и подтвердить новый пароль. Вы можете использовать любой простой пароль, например, password123.

Подсказки

  • Команда для установки или изменения паролей — passwd.
  • Поскольку вы меняете пароль для другого пользователя, вам понадобятся привилегии sudo. Синтаксис: sudo passwd <имя_пользователя>.

Примеры

После успешной установки пароля в файле shadow появится хэш пароля пользователя. Вы можете проверить это, просмотрев файл shadow (внимание: для этого требуются права root):

$ sudo grep "^b.smith:" /etc/shadow
b.smith:$y$j9T$XbJLH9LJgY518Th4qcd1V0$NrfHOJ2MGm/1OhLGfpfMQkvPasV23Eenhwl9bA0i8O4:20334:0:99999:7:::
✨ Проверить решение и практиковаться

Добавление нового разработчика в группу "developers"

Чтобы Бренда имела доступ к файлам и репозиториям проекта «Феникс», безопасность которых вы обеспечивали всю неделю, её необходимо добавить в группу developers. Это та же группа, с которой вы работали на протяжении всего времени в TechNova, и она обладает специальными правами, необходимыми для проекта.

Задачи

  • Добавить пользователя b.smith в группу developers.

Требования

  • Пользователь b.smith должен стать членом группы developers.
  • Существующее членство пользователя в других группах не должно быть аннулировано.

Подсказки

  • Команда usermod используется для изменения учетной записи пользователя.
  • Ищите флаги -a (append — добавить) и -G (groups — группы). Их совместное использование гарантирует, что вы добавите пользователя в новую группу, не удаляя его из текущих.

Примеры

После успешного добавления пользователя в группу разработчиков вы увидите членство в группе в списке групп пользователя:

$ 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 появляется в списке членов группы. Это подтверждает, что пользователь был успешно добавлен в группу с сохранением прежних членств.

✨ Проверить решение и практиковаться

Временное отключение учетной записи увольняющегося сотрудника

Теперь ваша последняя задача на этой неделе — и самое важное действие по обеспечению безопасности проекта «Феникс». В ходе вашего предыдущего расследования было установлено, что Джон Доу (j.doe) мог иметь несанкционированный доступ во время инцидента безопасности. Технический директор приказал немедленно удалить его из всех систем TechNova. Однако юридическому отделу и отделу комплаенса необходимо сохранить его файлы для текущего аудита безопасности, поэтому вы должны заблокировать учетную запись, а не удалять её полностью.

Задачи

  • Заблокировать учетную запись пользователя j.doe, чтобы предотвратить вход в систему.

Требования

  • Учетная запись пользователя j.doe должна быть заблокирована.
  • Не удаляйте пользователя или его домашний каталог.

Подсказки

  • Вы можете использовать команду usermod с опцией -L (lock — заблокировать).
  • Кроме того, у команды passwd есть флаг -l (lock), который дает тот же результат.
  • Не забудьте использовать sudo.

Примеры

Вы можете убедиться, что аккаунт заблокирован, проверив файл shadow:

$ sudo grep "^j.doe:" /etc/shadow
j.doe:!:20334:0:99999:7:::

Обратите внимание на восклицательный знак (!) в начале поля пароля — это указывает на то, что учетная запись заблокирована. Оригинальный хэш пароля сохраняется после ! для возможной разблокировки в будущем.

✨ Проверить решение и практиковаться

Резюме

Поздравляем, Хранитель ключей! Вы успешно завершили свою невероятную первую неделю в корпорации LabEx и обезопасили проект «Феникс» для его финального рывка к завершению.

На протяжении этой насыщенной недели вы прошли путь от младшего системного администратора до доверенного стража самых критически важных систем TechNova. В своем последнем испытании вы освоили основные команды управления пользователями:

  • Создали новую учетную запись для ведущего разработчика проекта.
  • Настроили безопасные домашние каталоги для ключевых членов команды.
  • Внедрили надежную политику паролей с помощью passwd.
  • Управляли членством в группах для обеспечения надлежащего доступа к ресурсам проекта «Феникс».
  • Обезопасили систему, отключив несанкционированный доступ с сохранением следов для аудита.

От первоначальной разведки до цифровой архитектуры, расследования логов, реализации мер безопасности и, наконец, управления пользователями — вы продемонстрировали полный набор навыков профессионального системного администратора. Технический директор подтвердил ваше зачисление в штат и уже обсуждает возможности вашего повышения.

Проект «Феникс» теперь в надежных руках, а будущее TechNova в безопасности благодаря вашему усердию и опыту!