Ysa-k03-ru

From
Jump to navigation Jump to search

глава 3: Пользователи, группы и права доступа в Unix/Linux

1. Unix/Linux как многопользовательская система

Unix/Linux изначально создавался как **многопользовательская система**. Это означает, что **несколько пользователей могут одновременно работать на одном компьютере**, например:

  • несколько пользователей подключены по SSH к серверу
  • один пользователь работает за графическим интерфейсом, другой — через терминал
  • на сервере работают службы от имени специальных системных пользователей

Чтобы обеспечить **безопасность и порядок**, система должна строго контролировать:

  • кто может читать файлы
  • кто может изменять файлы
  • кто может запускать программы

Для этого в Unix/Linux используются:

  • пользователи
  • группы
  • права доступа к файлам и каталогам

2. Пользователи (Users)

Каждый пользователь в системе имеет:

  • имя пользователя (login)
  • уникальный числовой идентификатор (UID)
  • домашний каталог (например, /home/alice)
  • оболочку (shell), например /bin/bash

Типы пользователей

  • **root** — суперпользователь, имеет полный доступ ко всей системе
  • **обычные пользователи** — работают в системе, имеют ограниченные права
  • **системные пользователи** — используются сервисами (например, www-data, mysql)

Пример просмотра информации о текущем пользователе:

id

Вывод может выглядеть так:

uid=1000(alice) gid=1000(students) groups=1000(students),27(sudo)

3. Группы (Groups)

Группа — это способ **объединить несколько пользователей** и управлять их правами одновременно.

Примеры:

  • группа sudo — пользователи, которые могут выполнять команды администратора
  • группа www-data — веб-сервер
  • группа students — группа учеников

Посмотреть группы пользователя:

groups

4. Права доступа к файлам и каталогам

Каждый файл и каталог в Unix/Linux имеет:

  • владельца (user)
  • группу (group)
  • набор прав доступа

Посмотреть права:

ls -l

Пример вывода:

-rw-r--r-- 1 alice students  1234 Jan 10  file.txt

Разбор строки прав

-rw-r--r--
  • первый символ:
    • - — обычный файл
    • d — каталог
  • далее три группы по три символа:
    • rw- — права владельца
    • r-- — права группы
    • r-- — права остальных пользователей

Значение символов

  • r — read (чтение)
  • w — write (запись)
  • x — execute (выполнение)

Для каталогов:

  • r — просмотр списка файлов
  • w — создание и удаление файлов
  • x — вход в каталог (cd)

5. Изменение прав доступа: chmod

Команда chmod изменяет права доступа.

Символьный способ

chmod u+x script.sh
  • u — владелец
  • g — группа
  • o — остальные
  • + — добавить право
  • - — убрать право

Пример:

chmod g+w report.txt

Числовой способ

  • r = 4
  • w = 2
  • x = 1

Пример:

chmod 755 script.sh

Расшифровка:

  • 7 = rwx
  • 5 = r-x
  • 5 = r-x

6. Изменение владельца и группы: chown

Команда chown используется администратором (root).

Пример:

chown bob:students file.txt
  • владелец: bob
  • группа: students

Только изменить группу:

chown :students file.txt

7. Управление пользователями

Создание пользователя

sudo useradd -m alice
  • -m — создать домашний каталог

Установка пароля

sudo passwd alice

Просмотр информации

id alice

8. Практика: сценарии прав доступа

Задание 1: Защита личных файлов

  1. Создайте файл private.txt
  2. Разрешите доступ только владельцу
chmod 600 private.txt

Задание 2: Общий каталог группы

  1. Создайте каталог /shared
  2. Назначьте группу students
  3. Разрешите чтение и запись группе
chmod 770 /shared

9. Практика: создание пользователей

Задание 3

  1. Создайте пользователя student1
  2. Установите пароль
  3. Добавьте в группу students
  4. Проверьте группы пользователя

10. Дополнительные материалы для самообучения

  • DigitalOcean: An Introduction to Linux Permissions (англ.)
 Отличное практическое объяснение модели прав доступа.  
 https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-permissions
  • Grymoire: Unix Permissions (англ.)
 Глубокое объяснение прав доступа с примерами.  
 https://www.grymoire.com/Unix/Permissions.html
  • LabEx: Права доступа к файлам в Linux
 Интерактивные практические задания (лабораторная работа).  
 https://labex.io/ru/tutorials/linux-permissions-of-files-270252
  • Habr: Права доступа в Linux
 Практическая статья с примерами и пояснениями.  
 https://habr.com/ru/articles/469667/

Видео-материалы

  • Linux: пользователи, группы и права доступа (русский язык)
 https://www.youtube.com/watch?v=R6AegtZpklQ
  • chmod и chown — практика (русский язык)
 https://www.youtube.com/watch?v=6hHPnoVsJ9Q

Итог

После изучения этой главы ученик сможет:

  • объяснить, почему в Unix/Linux необходима система пользователей и прав доступа
  • различать пользователей и группы
  • читать и понимать права доступа к файлам и каталогам
  • изменять права доступа с помощью chmod
  • изменять владельца и группу с помощью chown
  • управлять пользователями с помощью useradd, passwd, id, groups
  • на практике настраивать права доступа для типичных сценариев администратора