Управління правами доступу

Управління правами доступу


nbsp Права доступу грають важливу роль у формуванні концепції безпеки ОС. У FreeBSD права доступу є досить простими, на відміну від операційної системи Windows, де є висхідний, спадний успадкування. Звичайно, така гнучкість у встановленні прав доступу до певних ресурсів це позитивний момент, але занадто складна система виставлення прав може призвести до серйозної помилку, що в свою чергу може скомпрометувати систему в цілому.
nbsp В операційній система FreeBSD існує всього три стандартних прапора (так само є спеціальні прапори [см. Таблиця 1.5]), які визначають ті чи інші права доступу:
nbsp r - читання
nbsp w - запис
nbsp x - виконання

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


Як видно з прикладу, каталог має для власника (atrium) права на читання, запис і виконання, для групи (wheel) права на читання і виконання, для всіх інших користувачів права доступу відсутні.

nbsp
Для того щоб розуміти всі тонкощі прав доступу важливо усвідомити порядок їх перевірки:

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


Як бачимо запис в файл сталася успішно.

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

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

4.Особо перевіряються права доступу для користувача root. Якщо система бачить, що користувач має UID = 0. що відповідає root. незалежно від login_name. то система взагалі не перевіряє права доступу до ресурсу, так як користувач root має необмежений доступ до системи.


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

Права доступу можна уявити як в цифровому вигляді, так і в символьному.

1. Цифровий варіант

(111 - 111 -111) - відповідає правам доступу 777.

nbsp Для перекладу двійковій системи в десяткову використовується наступна таблиця відповідності, читається вона справа наліво:

128 64 32 16 8 4 2 1


Як же нам перевести наші права доступу в десяткову систему? Давайте потренуємося.
Призначимо файлу з ім'ям test.txt наступні права доступу:

Тепер переведемо отримані цифри:

u (user) - 111 - дивимося нашу таблицю відповідності справа наліво, даної послідовності відповідають цифри - 124, далі отримані цифри підсумовуємо і отримуємо - 1 + 2 + 4 = 7
g (group) - 101 - проробляємо те ж саме - 1 + 4 = 5
o (other) - 100 - проробляємо те ж саме - 4 = 4

В результаті наші права доступу на файл виглядають наступним чином - 754 і їх можна призначити за допомогою команди chmod (1).

Для зворотного перекладу, цифрового значення в двійкове, необхідно розділити на 2, залишок при діленні відповідає одиниці, якщо розподіл без залишку - 0, записується справа наліво.


Так само для полегшення запам'ятовування складемо таблицю відповідну цифровому поданням прав доступу:

Двійкова система

символьне

Читання для власника

Запис для власника

Виконання для файлів а для каталогів дозволяє пошук

Читання для групи

Запис для групи

Виконання для файли а для каталогу можливість пошуку в ньому.

Читання для інших користувачів

Запис для інших користувачів

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

1.Для власника - читання, запис, виконання
2. Для групи - читання і запис
3. Для інших - читання

Власник: 0400 + 0200 + 0100 = 0700
Група: 0040 + 0020 = 0060
Інші: 0004 = 0004

У підсумку ми отримуємо права доступу для файлу - 764. дані права можна призначити за допомогою команди chmod (1).


2. Символьний варіант


або можна по-іншому

Гучна заява "В операційній система FreeBSD існує всього три стандартних прапора."
Це абсолютно некоректне оману в'їлося в голови багатьох так, що й не вибити його.

Якщо коротко, то так було років 10 тому, але не зараз.

В якості підказки хочу порекомендувати товаришеві почитати про
POSIC ACL (POSIX 1003.1e / 1003.2c)

Ну або для початку поекспериментувати з
/ Bin / getfacl
/ Bin / setfacl

І Ви побачите, наскільки все більш цікаво :)

Товаріщщі!
Бля казла розвели
з гамно статейки

Так, про acl було б цікавіше почитати.

ХЕР МАРЖОВИЙ виділися сильно із загальної маси - напиши щось вартісне!

А в яких випадках може знадобитися перевести прапори в десяткову систему? Жодного разу не зустрічав.

До речі, chgrp group може бути замінена на chown: group

Рідні, про ACL буде наступного разу, не все відразу. Я знаю що Ви боляче розумні ніхто не сперечається :)

ХЕР МАРЖОВИЙ - твій логін говорить сам за себе

посилання виправлю, дякую :)

І ще, скажіть як мені будь ласка, що ACL додає якісь нові прапори?

Гучна заява "В операційній система FreeBSD існує всього три стандартних прапора."

Ти хоч розумієш що говориш?

ACL розширює можливості установки прав доступу на ресурс, але ніяк не додає нові прапори в систему :)

StasikOS
Сенс писати?
ну напиши про що-небудь цікавіше. а ми потім заценим: p

Повторення - мати навчання. Нормуль.

А навіщо люди книги пишуть, адже є мани? Або у нас вся країна добре англійську знає і не все в манах пишуть!

Знайдіть мені порядок перевірки прав доступу в мане до chmod?

"А навіщо люди книги пишуть, адже є мани? Або у нас вся країна добре англійську знає і не все в манах пишуть!"

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

"Знайдіть мені порядок перевірки прав доступу в мане до chmod?"
А це не є інтуїтивно-зрозумілим?

StasikOS
чому у нас так багато хріновий сісдамінов.
відразу видно, маємо справу з офігенний системним адміністратором * ROLF *

vvn
За FreeBSD Handbook, мій друг. І з виведення команди man.

4 StasikOS.
Тебе "розумника" ніхто не питає.

На цьому сайті не тільки одні сисадміни також є звичайні користувачі FreeBSD.

Ось я наприклад ніде не вчився на адміна і не закінчував КПІ, а все збираю по крупинках сам і англ. м'яко кажучи хреновенько знаю, а ось такі люди мені дуже допомагають.

За статтю спасибі.

Хлопці але навіщо афтор обзивати, та й статтю обсірать?
Просто написала людина статтю і молодець, не полінувався, просто варто вказати на недоліки, але не варто вказувати що він хренов в тому чи іншому.
Понесло мене.
Найголовніше що супер круті адміни залишаються за кадром.
Просто варто мені здається залишатися людьми і не варто дорікати в тому чи іншому особливо "тепер я чудово розумію, чому у нас так багато хріновий сісдамінов"

Хріновий сисадміна той хто лінуються щось робити і перекладають на більш молодих. та й багато іншого. ІМХО

Хлопці ДАВАЙТЕ ЖИТИ ДРУЖНО! =)

відмінно написав, всяк праця корисна. повторили пройдене. а орків в / dev / null

До речі очікуємо повінь дебілів школярів з антічат.ру,
хто звідти відгукніться я поржу DDDDDDD
ps liss ти ще банери злого і інших російських смітників з купою долбойоб покладеш немає що б Хабр або лин ру
ех не по нашому це

Ти на жаль навіть людською мовою розмовляти не вмієш (все матом і лайкою). Зауваж ніхто тебе дебілом не обзивати. І ще претендуєш на звання адекватного чола :)) Я розумію що ти народився зі знанням англійської мови :) ми ж все таки в Росії :))

пропоную замінити "манни" на "мани" :)

З недоліків. Посилання на англійські мани, хоча в якості захисту статті використовується основний аргумент "люди не знають англійської".

З неопісаного. Варто додати іпісаніе змін прав в реверсивному порядку. Описати ситуації з правами на симлінк.

Несправедливо обійшли увагою таку чудову річ як chflags.
ACL може не підтримуватися системою;)
(В сенсі, його можуть свідомо не_вкомпіліть:
options UFS_ACL)

Блін, натрапив і захотілося вставити свої 5 коп.
Прочитав побіжно тому сорі якщо цього раптом не помітив.
Хотілося б нагадати про особливість прав на каталоги які вище рівнем ніж даний. наприклад:
. (Rwxr-xr-x)
dir1 (rwxrwxrwx)

так ось юзер alex (влад ".") теж легко приб'є файл "2" юзера serg

#uname -r
GNU / Linux

XEP MAРЖОВИЙ просто не знає, що людське сприйняття на рідній мові горрраздо краще і більш усвідомлено навіть якщо чужу мову знаєш в совершенстве..прірода челов така, вчи матчасть.

не те скопіпастіл :)
*
#uname -o
GNU / Linux

Схожі статті