Пользователи, права и базовая безопасность

Рейтинг: 72.2% · 10 голосов
Вводный курс для новичков: что такое Linux и открытый код, командная строка, файлы и права, устройство ОС, учебный стенд. Мягкий старт перед LPIC-1.
Ответить
Аватара пользователя
Sergey_Sysadmin
Сообщения: 134
Зарегистрирован: 11 май 2026, 05:31

Пользователи, права и базовая безопасность

Сообщение Sergey_Sysadmin »

Урок 5. Пользователи, права и базовая безопасность

Linux с самого рождения был системой, где за одной машиной могут сидеть много людей сразу. Даже если у вас домашний ноутбук и пользователь один, эта многопользовательская модель никуда не делась - она защищает систему от вас же самих и от случайно запущенной вредной программы. В этом уроке разберёмся, кто такой root, почему под ним опасно работать постоянно, как устроены права на файлы и что должен делать новичок, чтобы не превратить свежую систему в решето.

Изображение

Как это работает

Представьте офисное здание. У каждого сотрудника своя карта-пропуск, которая открывает только нужные двери. А есть мастер-ключ у завхоза, который открывает вообще всё. В Linux обычный пользователь - это сотрудник со своим пропуском, а root (он же суперпользователь) - это тот самый мастер-ключ. У root нет ограничений: он может удалить любой файл, остановить любую службу, переписать системные настройки.

Именно поэтому сидеть под root постоянно - плохая идея. Любая опечатка превращается в катастрофу, а вредоносный скрипт получает полную власть над машиной. Современный подход другой: вы работаете под обычным пользователем, а когда нужны права администратора, на секунду берёте мастер-ключ через команду sudo. Сделали дело - и снова обычный человек.

Каждый файл в системе помнит две вещи: кто его владелец и какой группе он принадлежит. Группа - это просто список пользователей, которым удобно дать одинаковые права скопом. И для каждого файла есть три набора разрешений: для владельца, для группы и для всех остальных. Разрешений всего три типа - чтение (r), запись (w) и выполнение (x).

Команды и примеры

Сначала узнаем, кто мы такие и в каких группах состоим.

Код: Выделить всё

whoami            # печатает имя текущего пользователя
id                # показывает ваш числовой UID, основную группу и все группы
id -nG            # только имена групп, к которым вы принадлежите
Список всех пользователей системы хранится в текстовом файле /etc/passwd. Пароли там НЕ лежат (они в /etc/shadow, доступном только root). Посмотреть можно так:

Код: Выделить всё

cat /etc/passwd          # каждая строка - один аккаунт
# формат: имя:x:UID:GID:описание:домашний каталог:оболочка
Создание пользователя и выдача ему прав sudo различается по дистрибутивам. Группа администраторов в Debian и Ubuntu называется sudo, а в RHEL и Fedora - wheel.

Код: Выделить всё

# Debian 13 / Ubuntu 24.04
sudo adduser anna                 # создать пользователя (спросит пароль)
sudo usermod -aG sudo anna        # добавить в группу sudo

# RHEL 10 / Fedora 41+
sudo useradd anna                 # создать пользователя
sudo passwd anna                  # задать ему пароль
sudo usermod -aG wheel anna       # добавить в группу wheel
Теперь права на файлы. Команда ls -l показывает их в виде строки из символов.

Код: Выделить всё

ls -l report.txt
# -rw-r--r-- 1 anna staff 1024 jun 13 12:00 report.txt
Читаем эти десять символов слева направо. Первый символ - тип: дефис означает обычный файл, буква d - каталог. Дальше идут три тройки: rw- для владельца (anna может читать и писать), r-- для группы (staff может только читать), r-- для остальных. Где стоит дефис вместо буквы - значит этого права нет.

Менять права удобно командой chmod. Есть два способа: символьный и числовой.

Код: Выделить всё

chmod u+x script.sh      # добавить владельцу (u) право выполнения
chmod go-w report.txt    # убрать запись у группы (g) и остальных (o)

# числовой способ: r=4, w=2, x=1, складываем
chmod 644 report.txt     # владелец rw- (6), группа r-- (4), остальные r-- (4)
chmod 755 script.sh      # владелец rwx (7), группа и остальные r-x (5)
Сменить владельца или группу файла - команда chown (нужны права root).

Код: Выделить всё

sudo chown anna report.txt          # владельцем станет anna
sudo chown anna:devs report.txt     # владелец anna, группа devs
Обновления - это половина безопасности. Держите систему свежей.

Код: Выделить всё

# Debian / Ubuntu
sudo apt update && sudo apt upgrade

# RHEL / Fedora
sudo dnf upgrade
Частые грабли
  • Работа под root в повседневных задачах. Откройте обычную сессию и берите sudo точечно. Привычка набирать sudo перед всем подряд так же опасна.
  • chmod 777 на файл или папку, лишь бы заработало. Это открывает запись всем подряд - прямая дыра. Подумайте, какие три цифры реально нужны.
  • Забыли флаг -a в usermod -aG. Без него вы не добавите пользователя в группу, а ЗАМЕНИТЕ все его группы одной. Человек может потерять доступ к sudo.
  • Путают права на каталог и на файлы внутри. Чтобы войти в папку, нужен бит x на самой папке, а не только r.
  • Слабые или повторно используемые пароли. Менеджер паролей и длинная фраза решают проблему. Для серверов вообще отключают вход по паролю в пользу SSH-ключей.
Мини-лаба
  • Выполните whoami и id - запишите свой UID и список групп.
  • Создайте файл: touch lab5.txt и посмотрите его права через ls -l.
  • Сделайте файл доступным на запись только владельцу: chmod 600 lab5.txt, проверьте результат через ls -l.
  • Создайте каталог mkdir secret и закройте его от остальных: chmod 750 secret.
  • Запустите обновление списка пакетов (apt update или dnf check-update) и убедитесь, что без sudo команда ругается на права.
Контрольные вопросы
  • Чем root отличается от обычного пользователя и почему не стоит сидеть под root постоянно?
  • Что означает строка -rwxr-x--- в выводе ls -l, если разобрать её по тройкам?
  • Как одним числом записать права rw-r--r-- и почему получается именно так?
  • В какую группу нужно добавить пользователя для sudo в Ubuntu и в Fedora и почему важен флаг -a?
  • Где хранятся имена пользователей, а где их пароли, и почему они разделены?
👍4 ❤️2 🔥 😄 🤔1
Аватара пользователя
lena10
Сообщения: 1
Зарегистрирован: 14 май 2026, 00:15

Re: Пользователи, права и базовая безопасность

Сообщение lena10 »

А если я случайно сделал chmod 777 на домашнюю папку, как теперь вернуть нормально? Просто 755 на неё хватит?
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
pgveteran
Сообщения: 1
Зарегистрирован: 30 май 2026, 19:24

Re: Пользователи, права и базовая безопасность

Сообщение pgveteran »

Спасибо, наконец понял разницу между su и sudo. А usermod -aG срабатывает сразу или надо перелогиниться чтобы новая группа подхватилась?
👍1 ❤️ 🔥 😄 🤔
Ответить
← Предыдущая глава
Как устроена Linux изнутри: карта системы
Следующая глава →
Урок 6. Учебный стенд и путь дальше

Все главы курса «Linux Essentials: основы Linux с нуля»

Поделиться темой: ✈ Telegram VK

Вернуться в «Linux Essentials: основы Linux с нуля»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость