51просмотров
22 ноября 2025 г.
question📷 ФотоScore: 56
👥 Пользователи и группы в Linux: кто есть кто? Linux изначально создавался как многопользовательская ОС - и это до сих пор её суперсила. Даже если вы работаете один - система всегда знает: кто что может, а что - нет. Разбираем, как устроена авторизация и управление доступом «под капотом». 🧑💻 Кто такие пользователи? Каждый пользователь в Linux - это запись в системных файлах, а не просто имя для входа. У каждого есть:
- UID (User ID) - уникальный числовой идентификатор. 0 - это root, 1–999 - системные пользователи (nginx, postgres), 1000+ - обычные люди.
- Имя - для удобства чтения (ivan, deploy).
- Домашняя директория - обычно /home/ivan.
- Оболочка - /bin/bash для людей, /usr/sbin/nologin для сервисов (чтобы нельзя было зайти).
- Пароль - хранится только в /etc/shadow, и только в хэшированном виде. В /etc/passwd его нет - там только метаданные. Кстати: 🔹 /etc/passwd - содержит основную информацию об учётных записях пользователей. 🔹 /etc/shadow - доступен только root, там - хэши, сроки действия паролей и политики. 👥 А зачем нужны группы? Группы - это механизм совместного доступа. Представьте: у вас три разработчика - dev1, dev2, dev3. Вы создаёте группу developers, добавляете их туда, а потом даёте этой группе права на /app/src. Готово: все могут работать с кодом - без ручного выставления прав каждому. Один пользователь может быть в десятке групп - и система автоматически применяет все их права. Проверить, в каких вы группах: groups # кратко
id # подробно: UID, основная группа, все дополнительные
id username # про другого пользователя 🔐 Как управлять пользователями и группами? Создать пользователя с интерактивной настройкой (рекомендуется): sudo adduser ivan Или вручную, настроив всё самому: sudo useradd -m -s /bin/bash ivan
sudo passwd ivan # задать пароль отдельно Добавить пользователя в группу - и только добавить, не стерев остальные: sudo usermod -aG developers ivan
⚠️ Важно: -aG, а не просто -G! Без -a (append) вы перезапишете все группы - и можете случайно лишить себя sudo. Такое бывало 😅 Создать группу: sudo groupadd testers Удалить пользователя (и, при желании, его домашнюю папку): sudo deluser ivan --remove-home 🛡 root, sudo и принцип наименьших привилегий root (UID 0) - единственный пользователь с полным доступом. Но: ✅ работайте от обычного пользователя, ✅ используйте sudo для привилегированных команд, ❌ никогда не входите напрямую под root (кроме recovery-режима). Команда sudo временно повышает привилегии - и логирует всё в /var/log/auth.log. Настройки - в /etc/sudoers, но редактировать его нужно только через visudo (он проверит синтаксис и не даст сломать систему). 🧪 Где это реально работает? - Веб-серверы (nginx, apache) запускаются от своих пользователей - чтобы уязвимость в сайте не превратилась в полный захват сервера.
- Контейнеры часто работают от несуществующих UID (например, 10001) - это часть изоляции.
- CI/CD и Ansible завязаны на корректных пользователях, правах и sudo-доступе. 💡 Главное Пользователи и группы - это основа безопасности Linux. Понимание UID/GID, разницы между /etc/passwd и /etc/shadow, а также аккуратное использование usermod -aG и sudo делает вас не просто пользователем - а ответственным администратором. #Linux #Sysadmin #Security #UsersAndGroups #DevOps #LinuxTips #СистемноеАдминистрирование #CLI #IT #Bash #LinuxBasics #OpenSource #Sudo #AccessControl #LinuxAdmin