JavaRush /Курсы /Docker SELF /Создание пользователей и групп, настройка прав доступа, у...

Создание пользователей и групп, настройка прав доступа, управление процессами

Docker SELF
2 уровень , 6 лекция
Открыта

1. Постановка задачи

Итак, у нас впереди интенсивная практическая работа, где вы сможете применить все знания, полученные в предыдущих лекциях. Мы будем создавать пользователей, объединять их в группы, задавать уникальные права доступа и управлять процессами в системе. И если вы думаете: "Ну и зачем мне всё это?", представьте, что вы — системный администратор или DevOps-инженер, и от вас требуется настроить сервер для совместной работы команды. Ну или просто спасти свой компьютер от хаоса! В реальном мире такие ситуации возникают довольно часто.

Ваша цель — настроить систему для следующих пользователей и процессов:

  1. Создать двух пользователей: user1 и user2. Им предстоит совместная работа в группе developers.
  2. Настроить файл (например, project.txt) таким образом, чтобы только члены группы developers могли его редактировать.
  3. Создать несколько процессов (например, с помощью команды sleep) и научиться завершать их в случае необходимости.
  4. Просмотреть активные процессы, чтобы определить, какие из них потребляют больше всего ресурсов.

Звучит как план? Давайте реализуем его шаг за шагом.


2. Шаг 1: Создание пользователей

1. Создаём пользователей

Для начала создадим двух пользователей:

sudo adduser user1
sudo adduser user2

При выполнении этих команд система спросит вас установить пароль и введёт описание для каждого пользователя. Мы не будем здесь заполнять лишние данные, можно просто нажать Enter.

Каждому пользователю автоматически создаётся домашняя директория в /home. Вы можете проверить это:

ls /home
Примечание:

Если вы работаете локально, не забудьте использовать sudo, чтобы получить права администратора. А если вы в WSL, будьте готовы, что там могут быть нюансы с пользователями. Например, в WSL пользователь по умолчанию уже является администратором системы.


3. Шаг 2: Создание группы и добавление пользователей

1. Создаём группу

Чтобы пользователи могли совместно работать над проектами, добавим их в группу. Для начала создадим группу developers:

sudo groupadd developers

2. Добавляем пользователей в группу

Теперь добавим пользователей user1 и user2 в группу developers. Используем команду usermod для этой задачи:

sudo usermod -aG developers user1
sudo usermod -aG developers user2

3. Проверяем членство в группе

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

groups user1
groups user2

Вы должны увидеть, что user1 и user2 являются членами группы developers.


4. Шаг 3: Работа с файлами и правами доступа

1. Создаём файл для проекта

Создадим файл project.txt в домашней директории одного из пользователей (например, user1):

sudo -u user1 touch /home/user1/project.txt

Команда sudo -u позволяет нам исполнять действия от имени другого пользователя.

2. Изменяем владельца и группу файла

Назначим владельцем user1, а группой — developers, чтобы у обоих пользователей был одинаковый доступ:

sudo chown user1:developers /home/user1/project.txt

3. Настраиваем права доступа

Теперь изменим права доступа файла. Используем команду chmod:

sudo chmod 660 /home/user1/project.txt

Что мы сделали? Мы дали владельцу user1 и группе developers права на чтение и запись rw-, а все остальные не имеют никакого доступа.

Вы можете проверить права доступа с помощью команды ls:

ls -l /home/user1/project.txt

Ожидаемый результат:

-rw-rw---- 1 user1 developers 0 дата время /home/user1/project.txt

5. Шаг 4: Запуск процессов

1. Запускаем процессы

Для эксперимента создадим несколько "долгоживущих" процессов с командой sleep:

sleep 300 &
sleep 400 &
sleep 500 &

Каждая команда sleep запускается в фоне благодаря символу &.

Чтобы проверить список процессов, используйте команду ps:

ps

Больше информации можно увидеть с помощью ps aux:

ps aux | grep sleep

6. Шаг 5: Завершение процессов

1. Завершаем процесс по PID

Определяем PID одного из процессов (например, sleep) и завершаем его:

kill PID

Где PID — идентификатор процесса, который можно найти через ps.

2. Завершаем процесс по имени

Если вы хотите завершить все процессы sleep, используйте команду killall:

killall sleep

3. Используем pkill

Если вы не помните точное имя процесса, pkill поможет завершить процесс по частичному совпадению имени:

pkill slee

7. Шаг 6: Мониторинг процессов

Для отслеживания нагрузки на систему используйте:

  1. top — для работы в реальном времени:

       top
    

    Здесь вы можете наблюдать загрузку процессора, памяти и активные процессы. Используйте сочетание клавиш k, чтобы завершить процесс прямо из интерфейса.

  2. htop — более удобный интерфейс (если он у вас установлен):

    htop
    
    Для выхода нажмите F10.

8. Checklist

После выполнения всех шагов вы должны убедиться, что:

  1. Созданы два пользователя user1 и user2.
  2. Создана и настроена группа developers, в неё добавлены оба пользователя.
  3. Создан файл project.txt, доступный только для группы developers.
  4. Созданы и завершены несколько процессов через команды kill, killall и pkill.
  5. Вы успешно посмотрели список процессов в ps, top или htop.

Если всё выполнено — поздравляем! Вы прошли через все основные этапы управления пользователями, группами, правами доступа и процессами в системе Linux. Да прибудет с вами консольное могущество!

1
Задача
Docker SELF, 2 уровень, 6 лекция
Недоступна
Создание новых пользователей
Создание новых пользователей
1
Задача
Docker SELF, 2 уровень, 6 лекция
Недоступна
Создание группы и добавление пользователей
Создание группы и добавление пользователей
1
Задача
Docker SELF, 2 уровень, 6 лекция
Недоступна
Настройка файла и прав доступа
Настройка файла и прав доступа
1
Задача
Docker SELF, 2 уровень, 6 лекция
Недоступна
Управление процессами
Управление процессами
1
Опрос
Первые команды Linux, 2 уровень, 6 лекция
Недоступен
Первые команды Linux
Первые команды Linux
Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
kokosik Уровень 3
26 декабря 2025
у меня валидатор не принимает задачу даже после выбора готового решения!
Anonymous #6454510 Уровень 22
15 декабря 2025
Исправьте опрос
Денис Крылов Уровень 4
23 июля 2025
Почему курс такой сырой?
milyasow Уровень 3
14 августа 2025
MVP
14 марта 2025
Что за бред? Почему для команды `chmod 754 script.sh` нет правильного ответа??? Должно быть rwxr-x-r-- Выбрал "от фонаря"...
DannyTheBullet Уровень 6
28 ноября 2025
Ага, админы даже не читают комменты людей, ведь уже 28.11.2025 (прошло почти 7 с половиной месяцев), а проблема с этим заданием до сих пор не устранена
Vlad Tagunkov Уровень 29
21 декабря 2025
прошел еще месяц. коменты не читаны - опрос не исправлен
WilDHedgehog Уровень 7
1 марта 2025
Нет же правильного ответа для chmod 754 script.sh?
Илья Арифович Уровень 22
7 марта 2025
Нету. Вместо правильного ответа первый проходит.