Уявіть ситуацію: ви адміністратор системи великого проєкту, і часто отримуєте нарікання від команди контролю якості щодо дій команди розробників, і навпаки. З’ясувавши деталі, ви бачите, що обидві команди працюють з однією кодовою базою та є частиною однієї групи. Звертаєтесь за порадою до старшого колеги, і він рекомендує розділити всіх користувачів на дві окремі групи: для розробників і для тестувальників. Але ви не знаєте, як в Linux додавати користувачів до груп. Не хвилюйтесь, ми вам допоможемо. У цій статті ми детально розберемо, як створити нову групу, зареєструвати нового користувача, і як потім цього користувача додати до потрібної групи в Linux.
Керування групами користувачів в Linux (2023)
Перш ніж ми перейдемо до практичних кроків створення груп, користувачів і додавання їх до груп, необхідно розібратися з тим, що таке група користувачів в Linux. Розглянемо це питання, а потім перейдемо безпосередньо до процесу додавання користувачів до груп.
Що таке група користувачів у Linux?
Зазвичай, в будь-якій організації є команди, що виконують різні завдання, і кожен співробітник є частиною певної команди. Аналогічно, в багатокористувацькій системі кожен користувач належить до групи, яка має певні права доступу, наприклад, дозволи на читання, запис або виконання для спільних ресурсів. У Linux існує два основних типи груп:
Основна група
Під час входу в систему, ви автоматично потрапляєте до основної групи. Як правило, назва основної групи співпадає з ім’ям користувача в Linux. Кожен створений вами файл чи процес стає частиною цієї групи, і користувачі інших груп не мають доступу до них за замовчуванням. Інформація про основну групу, як ідентифікатор користувача та групи, зберігається у файлі `/etc/passwd`.
Додаткова група
Додаткові групи, або вторинні, потрібні тоді, коли необхідно надати доступ до певних файлів або процесів обмеженому колу користувачів. Лише користувач root або користувачі з правами sudo можуть змінювати дозволи або додавати нових користувачів до вторинних груп.
Користувач може належати лише до однієї основної групи, але може бути учасником багатьох вторинних груп. Тепер, коли ви знаєте основи груп користувачів в Linux, розглянемо процес створення нових користувачів і додавання їх до відповідних груп.
Як створити нового користувача в Linux
Для створення нового користувача використовується команда `useradd`, що має наступний синтаксис:
sudo useradd <параметри> ім’я_користувача
Нижче наведено опис деяких корисних параметрів:
Параметр | Опис |
-d | Вказує шлях до домашнього каталогу нового користувача. |
-e | Вказує дату, після якої обліковий запис користувача буде деактивовано. |
-u | Створює нового користувача з вказаним ідентифікатором користувача (UID). |
Створений користувач спочатку буде входити лише до своєї основної групи. Після створення користувача, задайте йому пароль за допомогою команди `passwd`:
sudo passwd ім’я_користувача
Система запропонує вам ввести новий пароль, а потім підтвердити його повторно. Після цього користувач зможе увійти в систему з новим ім’ям користувача та паролем.
Як створити групу користувачів в Linux
Коли користувача створено, можна приступати до створення груп та додавання до них користувачів. Для створення нової групи використовується команда `groupadd`. Важливо, щоб назва нової групи була унікальною, щоб уникнути конфліктів з існуючими групами. Синтаксис виглядає так:
sudo groupadd назва_групи
Як додати користувачів до груп
Після створення групи, можна почати додавати до неї користувачів. Тільки користувач root або користувач з правами sudo може додавати користувачів до різних груп.
Додати існуючого користувача до існуючої групи
Щоб додати існуючого користувача до групи, використовуйте команду `usermod` з наступним синтаксисом:
sudo usermod -a -G ім’я_групи ім’я_користувача
Параметр `-a` означає append, тобто додавання в кінець, і він додає користувача до існуючої групи, а `-G` використовується для визначення назви групи, до якої додається користувач. Ця команда не має детального виводу, за виключенням попередження, якщо користувача або групи не існує.
Додати користувача до декількох груп
Команда `usermod` може також використовуватися для додавання користувача одразу до кількох груп. Просто вкажіть назви груп через кому без пробілів:
sudo usermod -a -G ім’я_групи_1,ім’я_групи_2,ім’я_групи_3 ім’я_користувача
Створити нового користувача і одразу додати його до групи
В Linux можна створити нового користувача і одразу додати його до вказаних груп за допомогою однієї команди. Команда `useradd` має такий синтаксис:
sudo useradd -G ім’я_групи_1,ім’я_групи_2,ім’я_групи_3 ім’я_користувача
Перегляд списку груп користувача
Щоб переглянути всі групи, до яких належить користувач, можна використовувати команди `groups` або `id`. Синтаксис виглядає так:
groups ім’я_користувача
id ім’я_користувача
Якщо поле `ім’я_користувача` залишити порожнім, будуть показані групи поточного користувача.
Як видалити користувача з групи
Для видалення користувача з групи в Linux можна використовувати команду `gpasswd` з наступним синтаксисом:
sudo gpasswd -d ім’я_користувача ім’я_групи
Окрім видалення користувача з групи, команда `gpasswd` може використовуватись для інших адміністративних завдань, таких як встановлення адміністраторів групи або пароля групи.
Видалити групу в Linux
Щоб видалити будь-яку вторинну групу в Linux, використовуйте команду `groupdel`:
sudo groupdel назва_групи
Як змінити основну групу користувача
Всі команди, які ми розглянули, стосуються вторинних груп. Для зміни основної групи користувача використовується наступний синтаксис:
sudo usermod -g нова_основна_група ім’я_користувача
Вас, можливо, цікавить різниця між прапорами `-g` та `-G`. Прапор `-g` використовується для основних груп, тоді як `-G` для вторинних.
Як переглянути список всіх груп користувачів в Linux
Користувач, створений під час встановлення системи, є системним користувачем і за замовчуванням входить до багатьох груп. Інформація про кожну групу зберігається у файлі `/etc/group`. Для перегляду списку всіх груп використовуйте команду:
sudo cat /etc/group
Керування користувачами та групами в терміналі Linux
Керування групами є важливою задачею, особливо для системних адміністраторів. Ми розглянули декілька простих команд терміналу Linux для створення користувачів, груп, і додавання користувачів до груп. Сподіваємося, що ця стаття допомогла вам вирішити ваші проблеми. Якщо виникли додаткові питання, напишіть про це в коментарях, і ми вам допоможемо.