Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

3.4.4. Керування правами


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

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


• Його власник (символізується u, як у користувача)


• Його група власників (символізується g, як у групі), що представляють усіх членів групи


• Інші (символізується o, як і в інших) Можна поєднати три види прав:

• читання (символізується r, як у прочитаному);


• запис (або модифікація, що символізується w, як написано);


• виконання (символізується x, як у eXecute).


У випадку з файлом ці права легко зрозуміти: доступ на читання дозволяє читати вміст (включаючи копіювання), доступ на запис дозволяє змінювати його, а доступ на виконання дозволяє запускати його (що працюватиме, лише якщо це програма).


Сетуїд та setgid Два особливих права мають відношення до виконуваних файлів: Сетуїд та setgid (символізується виконувані файли з буквою «с»). Зауважте, що ми часто говоримо про біт, оскільки кожне з цих логічних значень може бути представлено 0 або 1. Ці два права дозволяють будь-якому користувачеві виконувати

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

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

Сетуїд та setgid Два особливих права мають відношення до виконуваних файлів: Сетуїд та setgid (символізується виконувані файли з буквою «с»). Зауважте, що ми часто говоримо про біт, оскільки кожне з цих логічних значень може бути представлено 0 або 1. Ці два права дозволяють будь-якому користувачеві виконувати

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

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


зображення

Каталог обробляється інакше, ніж файл. Доступ на читання дає право ознайомитися зі списком його вмісту (файлів і каталогів); доступ на запис дозволяє створювати або видаляти файли; і execute access дозволяє перейти через каталог для доступу до його вмісту (наприклад, за допомогою cd команда). Можливість перетинати каталог без можливості прочитати його дає користувачеві дозвіл доступу до записів у ньому, які відомі за іменами, але не знаходити їх, не знаючи їх точного імені.



БЕЗПЕКА Команда setgid біт також стосується каталогів. Будь-який щойно створений елемент у таких каталогах

БЕЗПЕКА Команда setgid біт також стосується каталогів. Будь-який щойно створений елемент у таких каталогах


setgid каталог і липкий

біт

автоматично призначається група власників батьківського каталогу, замість успадкування-

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

Команда липкий біт (позначений буквою «t») — це дозвіл, який корисний лише в каталогах. Він особливо використовується для тимчасових каталогів, де кожен має доступ на запис (наприклад / tmp /): він обмежує видалення файлів, щоб їх міг видалити лише їхній власник або власник батьківського каталогу. Без цього кожен міг би видалити файли інших користувачів / tmp /.

setgid каталог і липкий

біт


Три команди керують дозволами, пов’язаними з файлом:

зображення

Чаун файл користувача змінює власника файлу


TIP Часто потрібно одночасно змінити групу файлу

TIP Часто потрібно одночасно змінити групу файлу


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

група

змінити власника. The Чаун команда має спеціальний синтаксис для цього: Чаун

користувач:груповий файл

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

група

chgrp груповий файл змінює групу власників

CHMOD файл прав змінює права доступу до файлу

Існує два способи представлення прав. Серед них символічне зображення, мабуть, найлегше зрозуміти і запам’ятати. Він включає літерні символи, згадані вище. Ви можете визначити права для кожної категорії користувачів (u/g/o), встановивши їх явно (з =), додавши

(+), або віднімаючи (-). Таким чином u=rwx,g+rw,або формула надає власнику права на читання, запис і виконання, додає права читання та запису для групи власників і видаляє права читання для інших користувачів. Права, не змінені додаванням або відніманням у такій команді, залишаються незмінними. Лист a, для всіх, охоплює всі три категорії користувачів, так що a=rx надає всім трьом категоріям однакові права (читання та виконання, але не запис).

(Вісімкове) числове подання пов’язує кожне право зі значенням: 4 для читання, 2 для запису і 1 для виконання. Кожну комбінацію прав ми пов’язуємо із сумою трьох цифр, і кожній категорії користувачів призначається значення у звичайному порядку (власник, група, інші).

Наприклад, CHMOD 754 файл команда встановить такі права: читання, запис і виконання для власника (оскільки 7 = 4 + 2 + 1); прочитати та виконати для групи (оскільки 5 = 4 + 1); тільки для читання для інших. The 0 означає відсутність прав; таким чином CHMOD 600 файл дозволяє власнику надавати дозволи на читання та запис, і жодних прав для інших. Найбільш частими є правильні комбінації 755 для виконуваних файлів і каталогів, і 644 для файлів даних.

Щоб представити спеціальні права, ви можете додати до цього числа четверту цифру за тим же принципом, де Сетуїд, setgid та липкий біти 4, 2 і 1 відповідно. Команда CHMOD 4754 асоціюватиметься Сетуїд біт з описаними раніше правами.

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

Вісімкове представлення також використовується з умаск команда, яка використовується для обмеження дозволів на щойно створені файли. Коли програма створює файл, вона призначає орієнтовні дозволи, знаючи, що система автоматично видаляє права, визначені за допомогою умаск, вводити умаск в шкаралупі; ви побачите маску, наприклад 0022. Це просто вісімкове представлення прав, які підлягають систематичному видаленню (у цьому випадку права на запис для групи та інших користувачів).

зображення

Якщо надати йому нове вісімкове значення, умаск команда змінює маску. Використовується у файлі ініціалізації оболонки (наприклад, ~ / .bash_profile), це ефективно змінить маску за замовчуванням для ваших робочих сеансів.


TIP Іноді нам доводиться змінювати права на ціле дерево файлів. Всі команди вище

TIP Іноді нам доводиться змінювати права на ціле дерево файлів. Всі команди вище


Рекурсивна операція

є -R можливість рекурсивної роботи в підкаталогах.

Різниця між каталогами та файлами іноді викликає проблеми з рекурсивними операціями. Тому в символічному відображенні прав введено букву «Х». Він являє собою право на виконання, яке застосовується лише до каталогів (а не до файлів, у яких цього права немає). таким чином, chmod -R a+X каталог додасть права на виконання лише для всіх категорій користувачів (a) для всіх підкаталогів і файлів, для яких принаймні одна категорія користувачів (навіть якщо їх єдиний власник) уже має права на виконання.

Рекурсивна операція

Найпопулярніші хмарні обчислення ОС на OnWorks: