Обладнання

Основні дозволи Linux: ubuntu / debian з chmod

Зміст:

Anonim

Дозволи мають один з найважливіших аспектів Linux (насправді всіх систем на базі Unix). Вони використовуються для різних цілей, але в основному служать для захисту системи та файлів користувачів, і тому команда CHMOD дозволяє нам змінювати будь-який дозвіл.

Зміст індексу

Рекомендуємо прочитати про наші путівники:

  • Дебіан проти Ubuntu. Кращі програми для правильної електронної пошти в Linux. Менеджер пакунків Linux: PACMAN, YUM, APT. Кращі дистрибутиви Linux. Створіть завантажувальний USB з Ubuntu 16.10.

Основні дозволи на Linux, Ubuntu, Debian з CHMOD

Маніпулювання дозволами - це цікава, але одночасно складна діяльність. Але така складність не повинна трактуватися як складність, а як можливість мати справу з найрізноманітнішими конфігураціями, що дозволяє створювати різні типи захисту файлів і каталогів.

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

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

Опис дозволів

  • drwx ——— rw-rw-r–

Рядки вище представляють результат написаної команди (ls -l) для переліку каталогу та його дозволів. Два елементи, що з'являються (“drwx——” та “-rw-rw-r–”) - це спосіб, який використовується для відображення дозволів каталогів та файлів. Саме цей елемент, який називається ланцюгом, ми збираємося вивчати.

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

Перший символ рядка вказує на тип файлу: якщо він є "d", він представляє каталог, якщо він "-", він еквівалентний файлу. Однак можуть з’являтися інші символи, які вказують на інші типи файлів, як показано в наступній таблиці:

  • d: каталог b: файл блоку c: файл спеціального символу p: канал s: socket -: звичайний файл

Тепер зауважте, що в решті рядка ще є 9 символів. Ви знаєте, що означає перший. Інші діляться на три групи з трьох, кожна представляє власника, групу та всі інші відповідно. Взявши рядок 2 прикладу (-rw-rw-r–), залишивши в стороні перший символ і розділивши решту рядка на 3 частини, це виглядатиме так:

  • rw-: перша частина означає права власника. rw-: друга частина означає дозволи групи, до якої належить користувач. r–: третя частина означає дозволи для інших користувачів.

Давайте розберемося, що означають ці символи (r, w, x, -). В основному існує три типи дозволів: читання, запис та виконання.

Читання дозволяє користувачеві читати вміст файлу, але не змінювати його. Написання дозволяє користувачеві змінювати файл. Виконання, як випливає з назви, дозволяє користувачеві виконати файл, якщо він виконується.

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

Можливо, певна кількість користувачів має дозвіл на зміни файлу, але інші, наприклад, не мають. Звідси необхідність використання груп. У цьому випадку дозвіл на запис цього файлу буде наданий групі, тому кожен користувач-учасник може змінити файл. Зверніть увагу, що з дозволами потрібна певна обережність. Наприклад, той, який повідомляє, що користувач має дозвіл на запис, якщо у них немає дозволу на читання .

Тепер, коли ми знаємо значення поділів рядка, давайте розберемося, що означають букви r, w, x та символ:

  • r: означає дозвіл на читання w: означає дозвіл на запис x: означає дозвіл на виконання - означає дозвіл на відключення.

Порядок, у якому повинні з’являтися дозволи, є rwx. Таким чином, ми зрозуміємо ланцюжок нашого прикладу, розділивши його на 4 частини:

Рядок 1:

  • drwx ——– це каталог (d) - власник може його читати, змінювати та виконувати (rwx) - група не може його читати, змінювати чи виконувати (-) - інші користувачі не можуть її читати, змінювати чи виконувати (-).

Рядок 2:

  • -rw-rw-r–– - це файл (-) - власник може його читати та змінювати, але не виконувати. Зауважте, що цей файл не виконується, дозвіл на виконання видається вимкненим (rw -) - група має ідентичні дозволи власнику (rw -) - інші користувачі мають лише дозвіл на читання файлу, але не можуть змінювати чи виконувати його (r–).

У наступній таблиці показані найпоширеніші дозволи:

  • - - -: немає дозволу–: дозвіл на читання r-x: читання та виконання r-: читання та запис rwx: читання, запис та виконання

Налаштування дозволів за допомогою chmod

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

Щоб отримати чіткіший вигляд символьної форми з chmod, уявіть, що такі символи є у двох списках, а їх комбінація створює дозвіл:

Список 1

u: користувач

г: група

O (велика літера 'o'): інше

до: всіх

Список 2

г: читання

ш: написання

х: виконання

Для об'єднання символів цих двох списків використовуються оператори:

+ (знак плюс): додати дозвіл

- (знак мінус): видалити дозвіл

= (знак рівності): налаштування дозволу

Щоб показати, як це з'єднання робиться, припустимо, що ви хочете додати дозвіл на запис у файл test.txt для користувача. Введене замовлення:

chmod u + w test.txt

Значення "u" вказує на те, що дозвіл надано користувачеві, знак плюс (+) вказує, що дозвіл додано, а "w" вказує на те, що цей дозвіл є записом.

У випадку, якщо ви хочете надати групі дозволу на читання та запис, командою буде:

chmod g + rw test.txt

Тепер припустимо, що файл test.txt повинен мати всі права доступу для групи. Тоді ми можемо використовувати:

chmod g = rwx test.txt

Порада: створюйте файли та каталоги. Далі спробуйте поєднати дозволи з chmod. Це дуже допоможе вам зрозуміти цей ресурс.

Використання chmod з числовим методом

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

РЕКОМЕНДУЄМО ВАМ найкращі офісні програми для Ubuntu

Таким чином, рядок дозволу r-xr—– в числовій формі буде 101100000. Ця комбінація 1 і 0 є двійковим числом. Але нам ще належить додати десяткову форму (тобто числа від 0 до 9). Для цього пам’ятайте про наступну таблицю:

Дозвіл Двійкові Десяткові
- - - 000
- -х 001 1
-w- 010 2
-wx 011 3
r– 100 4
rx 101 5
rw- 110 6
rwx 111 7

Якщо ви не знаєте бінарної системи, вам потрібно задатися питанням, що ця таблиця 0 і 1 має відношення до чисел від 0 до 7. Оскільки двійкова система працює лише з числами 0 і 1 (десяткова працює з числами Від 0 до 9, тобто це система нумерації, яку ми використовуємо у своєму повсякденному житті), для подання значень потрібна послідовність. Таким чином, у попередній таблиці у колонці «Двійкові» показано, як виглядають двійкові значення чисел від 0 до 7 у десятковій системі.

Настав час пов’язати пояснення попереднього абзацу зі стовпцем "Дозвіл". Для прикладу ми використовуємо дозвіл rw-, двійкове значення якого дорівнює 110, що в свою чергу відповідає цифрі 6. У десятковій частині. Отже, замість того, щоб використовувати rw- або 110 для створення дозволу, ми просто використовуємо число 6. Зауважте, що за методом числення ми використовуємо лише одну цифру для представлення одного дозволу, а не трьох. Таким чином, ланцюг дозволів r - r - r– може бути представлений 444, оскільки r– у десятковій формі дорівнює 4. Подивіться на наступний приклад:

chmod 600 заміток.txt

Таким чином, дозволу rw ——- надаються файлу Notes.txt, оскільки 6 еквівалентно rw-, а 0 еквівалентно -. Оскільки нуль з’являється двічі, то формується значення 600.

Інші приклади:

chmod 755 test.txt

Призначити права читання, запису та виконання власника файлу (7), читання та виконання для користувачів тієї ж групи (5), а також для інших користувачів (5).

chmod 640 test.txt

Призначте права власності на читання та запис (6) для власника, лише для читання для користувачів із тієї ж групи (4), а для інших користувачів жодних дозволів (0).

Запустіть вищевказану команду з тестового файлу, а потім введіть ls -l notes.txt, щоб побачити, що з'являється (notes.txt слід замінити файлом, який ви використовуєте). У наступній таблиці показаний перелік найбільш використовуваних конфігурацій:

- - - - - - - - - 000
r ——– 400
r - r - r– 444
rw—— 600
rw-r - r– 644
rw-rw-rw- 666
rwx—— 700
rwxr-x— 750
rwxr-xr-x 755
rwxrwxrwx 777

Останні три дозволи в таблиці зазвичай використовуються для програм та каталогів.

Останні подробиці

Як ви бачили, набагато практичніше використовувати chmod з числовим методом. Але вас, можливо, вас плутали з усією цією схемою дозволів.

Справа в тому, що в системах на базі Unix, дозволи є одним із найскладніших аспектів. Така складність рівнозначна ефективності використання дозволів. Тож найкращий спосіб зрозуміти дозволи - це навчання. Тренуйтеся, створюйте дозволи та переглядайте результати.

Обладнання

Вибір редактора

Back to top button