Введение
Добро пожаловать в лабораторию по управлению идентификацией пользователей и контролем доступа в Linux. Правильное управление пользователями и доступом является краеугольным камнем безопасности и администрирования системы. Оно гарантирует, что пользователи имеют доступ только к ресурсам, необходимым для их ролей, предотвращая несанкционированные действия и потенциальные нарушения безопасности.
В этой лаборатории вы получите практический опыт работы с основными инструментами командной строки для управления пользователями, группами и разрешениями. Вы научитесь создавать учетные записи пользователей, управлять членством в группах, контролировать доступ к файлам с помощью chmod и chown, а также предоставлять специфические административные привилегии с помощью sudo. К концу этой лаборатории у вас будет прочная основа для обеспечения безопасности среды Linux.
Создание и управление учетными записями пользователей и группами
В этом шаге вы научитесь создавать и управлять учетными записями пользователей и группами, что является фундаментальной задачей для любого системного администратора Linux. Мы создадим нового пользователя, новую группу, а затем добавим пользователя в эту группу.
Сначала создадим нового пользователя с именем alice. Мы будем использовать команду useradd с опцией -m, которая указывает системе создать домашний каталог для пользователя.
sudo useradd -m alice
Далее, каждая учетная запись пользователя должна иметь пароль. Используйте команду passwd для установки пароля для alice. Вам будет предложено ввести и подтвердить новый пароль.
sudo passwd alice
Для этой лаборатории вы можете ввести простой пароль, например password. Убедитесь, что вы ввели один и тот же пароль дважды — если они не совпадут, вы увидите ошибку и вам придется попробовать снова.
Чтобы убедиться, что пользователь alice создан, вы можете проверить файл /etc/passwd, который содержит информацию обо всех учетных записях пользователей.
grep alice /etc/passwd
Вы должны увидеть строку вывода, содержащую сведения о пользователе alice.
alice:x:5001:5001::/home/alice:/bin/sh
Теперь создадим новую группу с именем developers. Для этого мы используем команду groupadd.
sudo groupadd developers
Чтобы проверить создание группы, вы можете проверить файл /etc/group.
grep developers /etc/group
Вывод должен показать новую группу.
developers:x:5003:
Наконец, добавим нашего нового пользователя alice в группу developers. Мы используем команду usermod с опциями -aG. -a означает "добавить" (append), а -G указывает группу (или группы). Важно использовать -a, чтобы не удалить пользователя из других групп, к которым он может принадлежать.
sudo usermod -aG developers alice
Чтобы подтвердить, что alice теперь является членом группы developers, используйте команду groups.
groups alice
Вывод перечислит все группы, в которые входит alice, и теперь там должна быть developers.
alice : alice developers
Настройка прав доступа к файлам и каталогам (chmod, chown)
В этом шаге вы научитесь управлять разрешениями для файлов и каталогов с помощью команд chmod и chown. Это необходимо для контроля того, кто может читать, записывать или выполнять файлы в вашей системе. Мы будем работать с файлом, расположенным по адресу ~/project/reports/quarterly.txt.
Сначала давайте рассмотрим текущего владельца и разрешения файла с помощью команды ls -l.
ls -l reports/quarterly.txt
Вывод будет выглядеть примерно так, показывая, что файл принадлежит пользователю и группе labex.
-rw-rw-r-- 1 labex labex 20 Aug 5 10:34 reports/quarterly.txt
Теперь давайте изменим владельца этого файла. Мы сделаем пользователя alice владельцем, а группу developers — групповым владельцем. Для этого мы используем команду chown. Синтаксис: chown user:group filename.
sudo chown alice:developers reports/quarterly.txt
Проверим изменения, снова выполнив ls -l.
ls -l reports/quarterly.txt
Вывод теперь показывает нового владельца и группу.
-rw-rw-r-- 1 alice developers 20 Aug 5 10:34 reports/quarterly.txt
Далее мы изменим разрешения файла с помощью команды chmod. Мы хотим установить следующие разрешения:
- Владелец (
alice) имеет права на чтение и запись (rw-). - Группа (
developers) имеет права только на чтение (r--). - Остальные не имеют никаких прав (
---).
В восьмеричной (числовой) нотации чтение — это 4, запись — 2, а выполнение — 1. Таким образом, rw- равно 4+2=6, r-- равно 4, а --- равно 0. Это дает нам код разрешений 640.
Применим эти разрешения.
sudo chmod 640 reports/quarterly.txt
Наконец, в последний раз проверим разрешения, чтобы убедиться, что они установлены правильно.
ls -l reports/quarterly.txt
Вывод теперь должен отражать новые разрешения -rw-r-----.
-rw-r----- 1 alice developers 20 Aug 5 10:34 reports/quarterly.txt
Реализация Sudo для управления привилегированным доступом
В этом шаге вы научитесь предоставлять привилегированный доступ пользователям с помощью sudo. Вместо предоставления полного доступа root, sudo позволяет детально контролировать, какие команды пользователь может запускать с повышенными привилегиями. Это гораздо более безопасная практика.
Конфигурация sudo хранится в файле /etc/sudoers. Самый безопасный способ редактирования этого файла — использование команды visudo, которая блокирует файл и проверяет наличие синтаксических ошибок перед сохранением.
Предоставим пользователю alice разрешение на выполнение команды apt update без необходимости ввода пароля.
Откройте файл sudoers для редактирования:
sudo EDITOR=nano visudo
Это откроет файл в текстовом редакторе (например, nano). Прокрутите до конца файла и добавьте следующую строку:
alice ALL=(ALL) NOPASSWD: /usr/bin/apt update
Эта строка означает: пользователь alice на ALL хостах может выполнять команды от имени ALL пользователей ((ALL)) без пароля (NOPASSWD:) для указанной команды /usr/bin/apt update.
После добавления строки сохраните и выйдите из редактора. В nano это можно сделать, нажав Ctrl+O, затем Enter для подтверждения имени файла и Ctrl+X для выхода.
Теперь протестируем новое правило. Нам нужно переключиться на учетную запись пользователя alice.
sudo su - alice
Ваш командный приглашение изменится, указывая, что вы теперь вошли как alice. Теперь попробуйте выполнить разрешенную команду.
sudo /usr/bin/apt update
Команда должна выполниться успешно, не запрашивая пароль. Вы увидите, как обновляются списки пакетов.
Далее попробуем выполнить команду, которую alice не имеет права запускать с помощью sudo, например apt upgrade.
sudo /usr/bin/apt upgrade
Эта команда завершится ошибкой, и вы увидите сообщение [sudo] password for alice:, указывающее, что пользователю alice не разрешено выполнять эту команду.
[sudo] password for alice:
Нажмите Ctrl+C, чтобы выйти из команды.
Это подтверждает, что наше правило sudo работает должным образом. Теперь вернитесь к вашему исходному пользователю labex.
exit
Анализ логов Sudo для отслеживания активности привилегированного доступа
В этом шаге вы научитесь просматривать системные журналы для мониторинга привилегированного доступа. Аудит использования sudo является критически важной практикой безопасности для отслеживания того, кто и когда запускает команды от имени root.
В системах на базе Debian, таких как Ubuntu, команды sudo записываются в файл /var/log/auth.log. Этот файл защищен, поэтому для его чтения вам потребуется использовать sudo.
Мы можем использовать команду grep для фильтрации журнала и поиска записей, связанных с командами sudo, выполненными пользователем alice на предыдущем шаге.
Выполните следующую команду для поиска в журнале авторизации:
sudo grep 'sudo.*alice' /var/log/auth.log
Вывод покажет несколько строк. Вы сможете идентифицировать журналы как для успешных, так и для неудачных попыток sudo.
Успешная попытка будет выглядеть примерно так, показывая выполненную команду:
... labex-vm sudo: alice : TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt update
Неудачная попытка также будет записана в журнал, четко указывая, что команда не разрешена:
... labex-vm sudo: alice : user NOT allowed to execute /usr/bin/apt upgrade on labex-vm ; TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt upgrade
Просмотр этих журналов позволяет администраторам отслеживать подозрительную активность и гарантировать, что привилегированные команды используются надлежащим образом.
Резюме
Поздравляем с завершением лабораторной работы!
В этой лабораторной работе вы получили практический опыт выполнения основных задач по управлению пользователями и доступом в Linux. Эти навыки являются основополагающими для поддержания безопасной и хорошо организованной системы Linux.
Вы научились:
- Создавать новых пользователей и группы с помощью
useraddиgroupadd. - Изменять владельца файлов с помощью
chownи права доступа с помощьюchmod. - Реализовывать детальное управление привилегированным доступом с помощью
sudoи командыvisudo. - Аудировать активность
sudoпутем просмотра системных журналов в/var/log/auth.log.
Овладев этими командами, вы теперь лучше подготовлены к управлению пользователями и защите конфиденциальных данных на любом сервере Linux.



