База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Користувачі Linux: керування та дозволи

Користувачі Linux: керування та дозволи


У цій статті ми дослідимо важливість належної організації користувачів Linux. Ми опишемо права доступу, починаючи зі створення та налаштування користувачів і закінчуючи наданням доступу до певних файлів і папок. Ми також обговоримо деякі важливі засоби безпеки, такі як sudo та SELinux, які допомагають захистити систему від небажаної активності.

Важливість керування користувачами та прав доступу в Linux

У світі Linux керування користувачами та права доступу відіграють ключову роль. Уявіть собі Linux як велику квартиру, де кожен користувач є мешканцем, а кожен файл – кімнатою. Керування користувачами – це як призначення кожному мешканцю унікального ключа, тоді як права доступу – це те, що вони можуть робити у своїй кімнаті.

Коли користувача створюється, йому присвоюється ім'я та унікальний ідентифікатор ( UID ), як-от персональний ключ від квартири. Користувач також має групу , яка об'єднує його з іншими мешканцями. Група подібна до клубу, учасники якого мають спільні привілеї.

Права доступу до файлів поділяються на три категорії: власник ( користувач ), група та інші . Кожен ключ (користувач) може мати свої унікальні права на читання, запис та виконання для кожної категорії. Наприклад, власник файлу може мати права на читання та запис, група – лише на читання, а інші – нічого.

На особливу увагу заслуговують політики безпеки, такі як sudo та SELinux , що використовуються в системах Linux. Sudo — це спеціальна команда, яка дозволяє звичайним користувачам тимчасово використовувати права суперкористувача (root) для виконання певних завдань, які зазвичай доступні лише адміністраторам. Це допомагає запобігти випадковим помилкам або зловживанню правами суперкористувача. Під час використання sudo користувач зазвичай повинен ввести свій пароль для підтвердження своєї особи. Після цього він може виконувати команди з правами суперкористувача (root) відповідно до правил, встановлених у файлі sudoers.

SELinux — це додатковий рівень безпеки для операційної системи Linux. Він контролює, які програми та файли можна використовувати в системі, та обмежує доступ до них, щоб запобігти вторгненням та атакам. Це робить сервер більш безпечним, запобігаючи спробам злому або зловмисним діям.

Створення та керування користувачами

Як створити користувача в Linux

Користувачі Linux зазвичай створюються за допомогою команди useradd . Наприклад, щоб створити користувача з ім'ям "username", потрібно ввести:

useradd username

Як встановити пароль користувача Linux

Після створення користувача його обліковий запис не захищається паролем. Щоб встановити пароль для нового користувача, скористайтеся командою passwd :

passwd username

Де ім'я користувача - це ім'я користувача, для якого встановлюється пароль.

Як переглянути список користувачів у Linux

Щоб переглянути список користувачів у Linux за допомогою однієї команди в терміналі, можна скористатися командою cut :

cut -d: -f1 /etc/passwd

Ця команда зчитує вміст файлу /etc/passwd , який містить інформацію про всіх користувачів.

Щоб отримати інформацію про конкретного користувача, можна скористатися командою:

id username

Це відобразить UID користувача , GID та Groups.

Видалення користувача Linux

Щоб видалити користувача, скористайтеся командою userdel :

userdel username

Однак ця команда не видаляє файли в домашньому каталозі користувача. Щоб видалити їх, можна скористатися параметром -r :

userdel -r username

Це призведе до видалення імені користувача разом із його домашнім каталогом і всіма файлами в ньому.

Зміна користувача Linux

Щоб змінити інформацію про користувача, скористайтеся командою usermod . Інструмент використовує синтаксис:

usermod argument user

Повний список можливих аргументів наведено в довідці утиліти:

Довідка утиліти керування користувачами Linux

Наприклад, щоб змінити домашній каталог користувача, ви повинні використати команду:

usermod -d /new/path/to/directory username

Створення та керування групами користувачів у Linux

Групи користувачів у Linux дозволяють адміністраторам групувати користувачів із однаковими правами доступу. Це полегшує керування правами доступу та підвищує безпеку системи, дозволяючи встановлювати права на рівні групи, а не для кожного користувача окремо. Як приклад розглянемо групу розробників з користувачем admin.

Як створити групу користувачів у Linux

Щоб створити нову групу, скористайтеся командою groupadd з назвою нової групи:

sudo groupadd group_name

У нашому прикладі команда виглядатиме так:

sudo groupadd developers

Як видалити групу користувачів у Linux

Щоб видалити групу, скористайтеся командою groupdel :

sudo groupdel group_name

Отже, команда:

sudo groupdel developers

Групу з назвою розробники буде видалено.

Додавання користувачів до групи

Щоб додати користувача до певної групи, скористайтеся командою usermod :

sudo usermod -aG group_name user_name

Наприклад:

sudo usermod -aG developers admin

Ця команда додасть користувача з ім'ям admin до групи розробників.

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

Щоб видалити користувача з групи, скористайтеся командою deluser :

sudo deluser user_name group_name

Команда для видалення користувача admin з групи розробників :

sudo deluser admin developers

Перегляд списків груп у Linux

Щоб переглянути список усіх груп у системі, скористайтеся командою cat з файлом /etc/group :

cat /etc/group

Ця команда відобразить список усіх груп у системі.

Перевірка членства в групі користувачів

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

groups user_name

Отже, ми дослідили основи керування групами користувачів у Linux. Тепер переходимо до наступного етапу – вивчення призначення прав доступу до файлів і каталогів. Цей процес дозволяє визначити, які дії користувачі або групи можуть виконувати щодо конкретних файлів і каталогів, забезпечуючи ефективне управління безпекою та доступ до системних ресурсів.

Призначення прав доступу до файлів і каталогів

Символічне представлення прав доступу

Як ми вже з'ясували, у Linux існує 3 категорії користувачів: власник ( user ), група та інші . Кожен з них може мати певні групи доступу до файлів або каталогів:

  1. Читати (Читати - r): Дозволяє переглядати вміст файлу або каталогу.
  2. Запис (Write - w): Надає можливість змінювати файл або створювати новий файл у каталозі. Для каталогу це також дозволяє видаляти файли з нього.
  3. Виконати (Execute - x): дозволяє запустити файл (якщо це виконуваний файл) або увійти до каталогу (якщо це каталог).

У системах сімейства Linux права доступу представлені рядком із 10 символів. Перший символ вказує на тип файлу (звичайний файл, каталог тощо), а решта дев'ять - це три групи по три символи для кожної з груп користувачів. Для розуміння розглянемо приклад.

Права доступу -rwxr-x-- означають:

  1. Перший символ (-) вказує на тип файлу (в даному випадку звичайний файл).
  2. Три символи для власника (rwx) показують, що власник має права на читання, запис і виконання.
  3. Три символи для групи (rx) вказують на те, що члени групи мають права лише на читання та виконання.
  4. Три символи для інших (r--) означають, що інші користувачі можуть лише читати файл.

Права доступу встановлюються за допомогою команди chmod , а синтаксис виглядає наступним чином:

chmod [options] mode file(s)

де:

  1. [параметри] - додаткові параметри, такі як -R для рекурсивної зміни прав доступу до каталогу та його підкаталогів.
  2. mode - спеціальний рядок, який визначає, які права доступу змінюються і для кого. Режим можна вказати символами (r, w, x) і бітами (0 або 1). Також можна використовувати числові значення режиму (про них ми поговоримо пізніше)
  3. файл(и) - файли або каталоги, до яких застосовано зміни.

Ця утиліта є досить потужним інструментом, тому ми розглянемо лише кілька основних команд як приклад.

Змініть права доступу до файлу так, щоб власник мав права читання та запису, група мала права лише читання, а інші користувачі не мали прав:

chmod u=rw,g=r,o= filename

Встановити права доступу для всіх користувачів на читання та запис у файл:

chmod a+rw filename

Рекурсивно змінити права доступу для всіх файлів і підкаталогів у каталозі:

chmod -R u+rwx directory

Числове представлення прав доступу

У числовому представленні кожна категорія користувачів (власник, група, інші) має свій номер, а комбінація цих чисел задає остаточні права доступу. Подібно до символічних, кожне з трьох прав має своє значення, але в числовому вигляді:

  1. Read (читати) - значення 4
  2. Write (записати) - значення 2
  3. Execute (виконати) - значення 1

Числові значення також використовуються для визначення типу користувача:

  1. Власник файлу (користувач) - перша цифра
  2. Група власника (група) - друга цифра
  3. Інші користувачі (інші) - третя цифра

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

chmod XYZ file

де X , Y та Z – числа, що представляють права доступу для власника, групи та інших користувачів відповідно.

Наприклад, щоб надати власнику повний доступ (читати, писати та виконувати), а групі та іншим користувачам – лише читати та виконувати, можна використати команду:

chmod 755 file

Розглянемо інші приклади:

chmod 700 file

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

chmod 644 file

Власник має право читати та писати, тоді як група та інші користувачі мають права лише читати.

chmod 751 file

Власник має повні права, група має права на читання та виконання, а інші користувачі мають лише права на виконання.

Як ми вже згадували раніше, інструмент має дуже широкий функціонал. У деяких випадках опцій, доступних у розділі «допомога», недостатньо:

Інструмент для керування правами доступу в Linux

Зверніть увагу на останній рядок. Використання цієї команди відкриває детальнішу документацію щодо інструменту. Ви також можете відвідати офіційну сторінку утиліти у Вікіпедії, де можна знайти детальну інформацію про Chmod.

Висновок

Користувачі Linux і керування ними критично важливі для безпеки та стабільної роботи ОС. У цій статті ми підкреслили важливість ефективного керування користувачами та правами доступу в Linux, охоплюючи створення та керування користувачами, роботу з групами користувачів і призначення прав доступу до файлів і каталогів.

❮ Попередня стаття Налаштування брандмауера в Linux
Наступна стаття ❯ Текстові редактори Linux

Запитайте нас про VPS

Ми завжди готові відповісти на ваші запитання в будь-який час дня і ночі.