Управление пользователями и группами
Добавляйте, удаляйте и проверяйте пользователей и группы, настраивайте sudo и применяйте принцип наименьших привилегий
«Управление пользователями и группами» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Модель пользователей Linux
Linux — многопользовательская OS. Каждый процесс выполняется от имени определённого пользователя. Понимание пользователей и групп — основа контроля доступа и разделения привилегий.
Файл /etc/passwd
/etc/passwd хранит сведения об учётной записи пользователя: имя пользователя, UID, GID, домашний каталог и оболочку. Пароли хранятся в виде хешей в /etc/shadow, доступном для чтения только суперпользователю.
cat /etc/passwd
# format: username:x:UID:GID:comment:home:shellСоздание пользователей и управление ими
Ключевые команды:
useradd -m -s /bin/bash alice # create user with home dir
passwd alice # set password
usermod -aG sudo alice # add to sudo group
userdel -r alice # delete user and home dirГруппы и контроль доступа
Группы позволяют нескольким пользователям совместно использовать разрешения. Пользователь может состоять во многих дополнительных группах. Основная группа задаётся при создании учётной записи, а вторичные группы предоставляют дополнительный доступ к файлам и устройствам.
groupadd developers
usermod -aG developers bob
id bob # show UID, GID, groupsФайл /etc/shadow
/etc/shadow содержит хешированные пароли и сведения об устаревании паролей. Читать его может только суперпользователь. Формат хеша: $id$salt$hash, где id обозначает алгоритм (6=SHA-512, 2y=bcrypt).
sudo cat /etc/shadow
# $6$salt$hash = SHA-512Принцип наименьших привилегий
Каждый пользователь и сервис должны работать только с минимальными необходимыми разрешениями. Никогда не запускайте приложения от имени суперпользователя без крайней необходимости. Используйте отдельные сервисные учётные записи без оболочки входа и с ограниченными домашними каталогами.
sudo и su
sudo выполняет одну команду с повышенными привилегиями и записывает это действие в журнал. su переключается на другого пользователя, обычно суперпользователя, на весь сеанс. Для возможности аудита предпочтительнее sudo — каждая команда с повышенными привилегиями записывается в /var/log/auth.log.
sudo apt update # single command as root
sudo -u postgres psql # run as specific service user
su - alice # switch to alice (full login)Настройка Sudoers
Файл /etc/sudoers (редактируйте его с помощью visudo) определяет, какие пользователи могут выполнять какие команды от имени суперпользователя. Предоставляйте точечный доступ, а не полный доступ через sudo. Например, можно разрешить пользователю deploy только перезапускать nginx.
visudo
# deploy ALL=(ALL) NOPASSWD: /bin/systemctl restart nginxБлокировка и истечение срока действия учётных записей
Отключайте неиспользуемые учётные записи вместо их удаления, чтобы сохранить историю аудита:
passwd -l alice # lock account
usermod -e 2024-12-31 alice # set expiry date
chage -l alice # view password aging infoСервисные учётные записи
Приложения должны работать от имени отдельных сервисных учётных записей со следующими ограничениями: без интерактивной оболочки входа (/usr/sbin/nologin), без права записи в домашний каталог и с минимальным числом членств в группах. Никогда не запускайте веб-серверы или базы данных от имени суперпользователя.
Аудит действий пользователей
Отслеживайте действия пользователей с помощью журналов:
last # recent logins
lastb # failed login attempts
journalctl _UID=1000 # journal entries for UID 1000
grep sudo /var/log/auth.log # sudo usageБыстрая проверка: управление пользователями
В каком файле в Linux хранятся хешированные пароли, доступном для чтения только суперпользователю?
Итоги урока
Управление пользователями и группами Linux контролирует доступ с помощью UID, GID и членства в группах. Используйте useradd, usermod, groupadd. Следуйте принципу наименьших привилегий: используйте сервисные учётные записи без оболочки входа. Для возможности аудита используйте sudo, а не su. Отслеживайте подозрительную активность в /var/log/auth.log.
Изучай Cyber Security Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 76
- Уроки
- 303
Часто задаваемые вопросы
Урок «Управление пользователями и группами» бесплатный?
Да — полный текст урока «Управление пользователями и группами» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Управление пользователями и группами»?
Добавляйте, удаляйте и проверяйте пользователей и группы, настраивайте sudo и применяйте принцип наименьших привилегий Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Управление пользователями и группами»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Разрешения и владельцы файлов
- Управление пользователями и группами
- Защита SSH и аутентификация по ключу
- Правила брандмауэра iptables и UFW