JavaRush /Курси /Docker SELF /Управління групами: створення, додавання і видалення кори...

Управління групами: створення, додавання і видалення користувачів з груп (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
Рівень 2 , Лекція 2
Відкрита

1. Знайомство з групами у Linux

Групи в операційній системі Linux дозволяють об'єднувати користувачів за інтересами, обов'язками чи іншими критеріями і призначати їм спільні права доступу. Сьогодні ми розберемо, як працювати з групами, додавати до них користувачів і адекватно керувати всім цим. Готові? Тоді поїхали!

Давайте почнемо з життєвої аналогії. Уявіть, що ви граєте в онлайн-гру, де є гільдії. У кожній гільдії є свої члени, і у них є доступ до спільних ресурсів: складу, чату та стратегічних кімнат. У Linux групи виконують ту саму роль. Групи дозволяють:

  1. Спрощувати управління доступом до файлів і ресурсів для кількох користувачів одночасно.
  2. Розподіляти користувачів на команди залежно від їхньої ролі чи завдання.
  3. Мінімізувати головний біль системного адміністратора.

Коли система перевіряє, чи може користувач отримати доступ до файлу, вона дивиться на три рівні прав: власник файлу, група і решта. Якщо користувач входить до групи, вказаної у файлі, і група має права на доступ, то користувач задоволений, а адміністратор щасливий.


2. Базові команди для управління групами

Linux надає декілька простих і потужних інструментів для роботи з групами: groupadd, usermod, groups, groupdel і gpasswd. Розглянемо їх крок за кроком.

1. Створення нових груп groupadd

Створити нову групу в системі надзвичайно просто. Для цього використовується команда groupadd. Наприклад, якщо ми хочемо створити групу з назвою developers, зробіть наступне:

sudo groupadd developers

І все! Група створена. Щоб переконатися, що вона дійсно існує, можна зазирнути у файл /etc/group — це як список контактів для всіх груп у системі:

cat /etc/group | grep developers

Ви побачите рядок на кшталт такого:

developers:x:1001:

Ось що тут що:

  • developers — ім'я групи.
  • x — поле для пароля (зазвичай не використовується).
  • 1001 — це унікальний Group ID (GID).
  • Порожнє місце після другого двокрапки — сюди додаються користувачі групи.
Жарт для розбавлення:

Якщо GID — це номер телефону групи, то /etc/group — це її телефонна книга.


2. Додавання користувача в групу usermod -aG

Тепер давайте наймемо розробників у нашу нову групу developers. Для цього використовується команда usermod з опцією -aG. Наприклад, додамо користувача john:

sudo usermod -aG developers john

Ось тут важливо запам'ятати:

  • Ключ -a означає append (додати). Якщо його пропустити, ви випадково видалите користувача з усіх груп, крім зазначеної.
  • Ключ -G вказує групу, у яку додається користувач.

Перевірити, в яких групах знаходиться користувач, можна командою groups:

groups john

Або трохи детальніше, використовуючи команду id:

id john

Вивід буде виглядати приблизно так:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Видалення користувача з групи

Коли хтось із ваших "розробників" вирішує змінити професію на бариста, його потрібно прибрати з групи. Для цього використовується команда gpasswd:

sudo gpasswd -d john developers

Після цього користувач john більше не буде числитися у групі developers. Не забудьте перевірити за допомогою groups john, щоб переконатися, що він офіційно пішов.


4. Видалення груп groupdel

Якщо група більше не потрібна, її можна видалити командою groupdel. Наприклад:

sudo groupdel developers
Увага!

Якщо у групі залишилися користувачі, їх це ніяк не зачепить. У них просто зникне можливість звертатися до цієї групи.


3. Практичне завдання

Давай спробуємо на практиці створити і налаштувати групи, як справжні адміні.

Сценарій:

  1. Створи групу designers.
  2. Створи двох нових користувачів: alice і bob.
  3. Додай цих користувачів до групи designers.
  4. Перевір, що користувачі дійсно додані до групи.
  5. Видали користувача alice із групи designers.

Рішення:

Крок 1. Створити групу

sudo groupadd designers

Крок 2. Створити користувачів

sudo adduser alice
sudo adduser bob

Крок 3. Додати користувачів до групи

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Крок 4. Перевірити додавання

groups alice
groups bob

Крок 5. Видалити alice із групи

sudo gpasswd -d alice designers

4. Особливості та типові помилки

Робота з групами — це як кошенята: ніби все легко і просто, але варто відволіктися, як вони влаштують хаос:

  1. Опція -aG. Забудьте поставити -a, і ви випадково видалите користувача з усіх груп, крім нової. Це особливо "весело", якщо цей користувач був частиною системної групи, на кшталт sudo.

  2. Зміни вступають у силу після повторного входу. Якщо користувач не бачить нову групу відразу після додавання — не панікуйте! Йому потрібно вийти з системи та увійти знову, щоб отримати нові права.

  3. Дотримуйтесь іменування. Не використовуйте у назвах груп пробіли або спецсимволи. Назви типу awesome@group працюють погано і змушують адміністраторів страждати.

  4. Перевіряйте права доступу. Групу створено і додано? Чудово, але якщо у файлів немає прав для групи, ви обманули очікування користувачів. Прийміть це як правило: права потрібно перевіряти і призначати окремо.

У реальному житті

У реальних проектах управління групами використовується, щоб:

  • Розділяти права доступу до серверних ресурсів для розробників, тестувальників і адміністраторів.
  • Налаштовувати спільні робочі директорії для команд.
  • Керувати доступом до баз даних, конфігураційних файлів, скриптів і, звичайно, кавоварки (ну добре, тут нас поки Linux не врятує).

Тепер, коли ви знаєте, як створювати і управляти групами у Linux, ви готові до елегантного і ефективного адміністрування вашої системи.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ