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

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

Введение

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

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

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

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

Подключение нового разработчика к системе

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

Задачи

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

Требования

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

Подсказки

  • В этом задании ожидается использование стандартной команды 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 для автоматического создания домашнего каталога. Если вы уже создали пользователя без домашнего каталога, возможно, сначала потребуется удалить его, а затем создать заново правильно.
  • Допустимые решения включают флаги -m или --create-home, которые могут быть указаны до или после имени пользователя.

Подсказки

  • Чтобы удалить пользователя, можно использовать команду 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 (примечание: для этого требуются права суперпользователя):

$ 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 в безопасности благодаря вашей преданности делу и экспертным знаниям!

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