У цій статті ми дослідимо важливість належної організації користувачів Linux. Ми опишемо права доступу, починаючи зі створення та налаштування користувачів і закінчуючи наданням доступу до певних файлів і папок. Ми також обговоримо деякі важливі засоби безпеки, такі як sudo та SELinux, які допомагають захистити систему від небажаної активності.
Важливість керування користувачами та прав доступу в Linux
У світі Linux керування користувачами та права доступу відіграють ключову роль. Уявіть Linux як велику квартиру, де кожен користувач є орендарем, а кожен файл є кімнатою. Керування користувачами схоже на призначення кожному орендарю свого унікального ключа, тоді як права доступу це те, що вони можуть робити у своїй кімнаті.
Коли користувач створюється, йому призначається ім’я та унікальний ідентифікатор (UID), як особистий ключ від квартири. Користувач також має a група, об'єднавши їх з іншими орендарями. Група схоже на клуб, члени якого мають спільні привілеї.
Права доступу до файлів поділяються на три категорії: власник (користувач), група та інші. Кожен ключ (користувач) може мати свої унікальні права на читання, запис і виконання для кожної категорії. Наприклад, власник файлу може мати права читання і запису, група - тільки читання, а інші - нічого.
Особливої уваги заслуговують такі політики безпеки, як Суду та SELinux, що використовується в системах Linux. Судо це спеціальна команда, яка дозволяє звичайним користувачам тимчасово використовувати права суперкористувача (root) для виконання певних завдань, які зазвичай доступні лише адміністраторам. Це допомагає запобігти випадковим помилкам або неправильному використанню прав суперкористувача. При використанні Суду, користувачеві зазвичай потрібно ввести свій пароль, щоб підтвердити свою особу. Після цього вони можуть виконувати команди з правами суперкористувача (root) відповідно до правил, встановлених у судоєри файлу.
SELinux є додатковим рівнем безпеки для операційної системи Linux. Він відстежує, які програми та файли можна використовувати в системі, і обмежує доступ до них, щоб запобігти вторгненням і атакам. Це робить сервер більш безпечним, запобігаючи спробам злому або зловмисним діям.
Створення та керування користувачами
Як створити користувача в Linux
Користувачі Linux зазвичай створюються за допомогою useradd команда. Наприклад, щоб створити користувача з ім’ям користувача, потрібно ввести:
useradd username
Як встановити пароль користувача Linux
Після створення користувача його обліковий запис не захищено паролем. Щоб встановити пароль для нового користувача, використовуйте passwd команда:
passwd username
Де ім'я користувача - це ім'я користувача, для якого встановлюється пароль.
Як переглянути список користувачів у Linux
Щоб переглянути список користувачів у Linux за допомогою однієї команди в терміналі, ви можете скористатися вирізати команда:
cut -d: -f1 /etc/passwd
Ця команда читає вміст / etc / passwd файл, який містить інформацію про всіх користувачів.
Щоб отримати інформацію про конкретного користувача, можна скористатися командою:
id username
Це відобразить користувача UID, GID та груп.
Видалення користувача Linux
Щоб видалити користувача, використовуйте userdel команда:
userdel username
Однак ця команда не видаляє файли в домашньому каталозі користувача. Щоб видалити їх, ви можете використовувати -r опції:
userdel -r username
Це призведе до видалення імені користувача разом із його домашнім каталогом і всіма файлами в ньому.
Зміна користувача Linux
Щоб змінити інформацію про користувача, використовуйте usermod команда. Інструмент використовує синтаксис:
usermod argument user
Повний список можливих аргументів наведено в довідці утиліти:
Наприклад, щоб змінити домашній каталог користувача, ви повинні використати команду:
usermod -d /new/path/to/directory username
Створення та керування групами користувачів у Linux
Групи користувачів у Linux дозволяють адміністраторам групувати користувачів із однаковими правами доступу. Це полегшує керування правами доступу та підвищує безпеку системи, дозволяючи встановлювати права на рівні групи, а не для кожного користувача окремо. Як приклад розглянемо групу розробників з користувачем admin.
Як створити групу користувачів у Linux
Щоб створити нову групу, використовуйте групадодано команда з назвою нової групи:
sudo groupadd group_name
У нашому прикладі команда виглядатиме так:
sudo groupadd developers
Як видалити групу користувачів у Linux
Щоб видалити групу, використовуйте груповий команда:
sudo groupdel group_name
Отже, команда:
sudo groupdel developers
Буде видалено групу з назвою розробників.
Додавання користувачів до групи
Щоб додати користувача до певної групи, використовуйте usermod команда:
sudo usermod -aG group_name user_name
Наприклад:
sudo usermod -aG developers admin
Ця команда додасть вказаного користувача адмін до розробників група.
Видалення користувачів із групи
Щоб видалити користувача з групи, використовуйте дельце команда:
sudo deluser user_name group_name
Команда видалення користувача адмін від розробників група:
sudo deluser admin developers
Перегляд списків груп у Linux
Щоб переглянути список усіх груп у системі, використовуйте як з командою / etc / group Файл:
cat /etc/group
Ця команда відобразить список усіх груп у системі.
Перевірка членства в групі користувачів
Після виконання дій можна перевірити, до яких груп належить користувач, за допомогою команди groups:
groups user_name
Отже, ми дослідили основи керування групами користувачів у Linux. Тепер переходимо до наступного етапу – вивчення призначення прав доступу до файлів і каталогів. Цей процес дозволяє визначити, які дії користувачі або групи можуть виконувати щодо конкретних файлів і каталогів, забезпечуючи ефективне управління безпекою та доступ до системних ресурсів.
Призначення прав доступу до файлів і каталогів
Символічне представлення прав доступу
Як ми вже з'ясували, в Linux існує 3 категорії користувачів: власник (користувач), група та інші. Кожен з них може мати певні групи доступу до файлів або каталогів:
- Читати (Читати - r): Дозволяє переглядати вміст файлу або каталогу.
- Запис (Write - w): Надає можливість змінювати файл або створювати новий файл у каталозі. Для каталогу це також дозволяє видаляти файли з нього.
- Виконати (Execute - x): дозволяє запустити файл (якщо це виконуваний файл) або увійти до каталогу (якщо це каталог).
У системах сімейства Linux права доступу представлені рядком із 10 символів. Перший символ вказує на тип файлу (звичайний файл, каталог тощо), а решта дев'ять - це три групи по три символи для кожної з груп користувачів. Для розуміння розглянемо приклад.
Права доступу -rwxr-xr-- маю на увазі:
- Перший символ (-) вказує на тип файлу (в даному випадку звичайний файл).
- Три символи для власника (rwx) показують, що власник має права на читання, запис і виконання.
- Три символи для групи (rx) вказують на те, що члени групи мають права лише на читання та виконання.
- Три символи для інших (r--) означають, що інші користувачі можуть лише читати файл.
Права доступу встановлюються за допомогою CHMOD і синтаксис виглядає наступним чином:
chmod [options] mode file(s)
де:
- [параметри] - додаткові параметри, такі як -R для рекурсивної зміни прав доступу до каталогу та його підкаталогів.
- mode - спеціальний рядок, який визначає, які права доступу змінюються і для кого. Режим можна вказати символами (r, w, x) і бітами (0 або 1). Також можна використовувати числові значення режиму (про них ми поговоримо пізніше)
- файл(и) - файли або каталоги, до яких застосовано зміни.
Ця утиліта є досить потужним інструментом, тому ми розглянемо лише кілька основних команд як приклад.
Змініть права доступу до файлу так, щоб власник мав права читання та запису, група мала права лише читання, а інші користувачі не мали прав:
chmod u=rw,g=r,o= filename
Встановити права доступу для всіх користувачів на читання та запис у файл:
chmod a+rw filename
Рекурсивно змінити права доступу для всіх файлів і підкаталогів у каталозі:
chmod -R u+rwx directory
Числове представлення прав доступу
У числовому представленні кожна категорія користувачів (власник, група, інші) має свій номер, а комбінація цих чисел задає остаточні права доступу. Подібно до символічних, кожне з трьох прав має своє значення, але в числовому вигляді:
- Read (читати) - значення 4
- Write (записати) - значення 2
- Execute (виконати) - значення 1
Числові значення також використовуються для визначення типу користувача:
- Власник файлу (користувач) - перша цифра
- Група власника (група) - друга цифра
- Інші користувачі (інші) - третя цифра
Таким чином, повне числове представлення прав доступу до файлів складається з трьох цифр, кожна з яких представляє суму значень прав для певної категорії користувачів. Це дещо зручніше, ніж використання 10 символів у символьному представленні. Управління в цьому випадку буде виглядати наступним чином:
chmod XYZ file
де X, Y та Z це числа, що представляють права доступу для власника, групи та інших користувачів відповідно.
Наприклад, щоб надати власнику повний доступ (читати, писати та виконувати), а групі та іншим користувачам – лише читати та виконувати, можна використати команду:
chmod 755 file
Розглянемо інші приклади:
chmod 700 file
Тільки власник має права на читання, запис і виконання, тоді як група та інші користувачі не мають прав доступу.
chmod 644 file
Власник має право читати та писати, тоді як група та інші користувачі мають права лише читати.
chmod 751 file
Власник має повні права, група має права на читання та виконання, а інші користувачі мають лише права на виконання.
Як ми вже згадували раніше, інструмент має дуже широкий функціонал. У деяких випадках опцій, доступних у розділі «допомога», недостатньо:
Зверніть увагу на останній рядок. Використання цієї команди відкриває детальнішу документацію про інструмент. Ви також можете відвідати комунальне підприємство офіційна Вікіпедія сторінку, де можна знайти детальну інформацію про Chmod.
Висновок
Користувачі Linux і керування ними критично важливі для безпеки та стабільної роботи ОС. У цій статті ми підкреслили важливість ефективного керування користувачами та правами доступу в Linux, охоплюючи створення та керування користувачами, роботу з групами користувачів і призначення прав доступу до файлів і каталогів.