Права доступу до файлів в linux
В операційній системі Linux є багато відмінних функцій безпеки, але вона з найважливіших - це система прав доступу до файлів. Linux, як послідовник ідеології ядра Linux на відміну від Windows, спочатку проектувався як багато користувачів система, тому права доступу до файлів в linux продумані дуже добре.
І це дуже важливо, тому що локальний доступ до файлів для всіх програм і всіх користувачів дозволив би вірусам без проблем знищити систему. Але новим користувачам можуть здатися дуже складними нові права на файли в linux, які дуже сильно відрізняються від того, що ми звикли бачити в Windows. У цій статті ми спробуємо розібратися в тому як працюють права файлів в linux, а також як їх змінювати і встановлювати.
Основні права доступу до файлів в Linux
Спочатку кожен файл мав три параметра доступу. Ось вони:
- читання - дозволяє отримувати вміст файлу, але на запис немає. Для каталогу дозволяє отримати список файлів і каталогів, розташованих в ньому;
- запис - дозволяє записувати нові дані в файл або змінювати існуючі, а також дозволяє створювати і змінювати файли і каталоги;
- виконання - ви не можете виконати програму, якщо у неї немає прапора виконання. Цей атрибут встановлюється для всіх програм і скриптів, саме за допомогою нього система може зрозуміти, що цей файл потрібно запускати як програму.
Але всі ці права були б безглуздими, якщо б застосовувалися відразу для всіх користувачів. Тому кожен файл має три категорії користувачів, для яких можна встановлювати різні поєднання прав доступу:
- власник - набір прав для власника файлу, користувача, який його створив або зараз встановлений його власником. Зазвичай власник має всі права, читання, запис і виконання.
- Група - будь-яка група користувачів, яка існує в системі і прив`язана до файлу. Але це може бути тільки одна група і зазвичай це група власника, хоча для файлу можна призначити і іншу групу.
- решта - всі користувачі, крім власника і користувачів, що входять в групу файлу.
Саме за допомогою цих наборів повноважень встановлюються права файлів в linux. Кожен користувач може отримати повний доступ тільки до файлів, власником яких він є або до тих, доступ до яких йому дозволено. Тільки користувач Root може працювати з усіма файлами незалежно від їх набору їх повноважень.
Але з часом такої системи стало не вистачати і було додано ще кілька прапорів, які дозволяють робити файли не змінними або ж виконувати від імені суперкористувача, їх ми розглянемо нижче:
Спеціальні права доступу до файлів в Linux
Для того, щоб дозволити звичайним користувачам виконувати програми від імені суперкористувача без знання його пароля була придумана така річ, як SUID і SGID біти. Розглянемо ці повноваження докладніше.
- SUID - якщо цей біт встановлений, то при виконанні програми, id користувача, від якого вона запущена замінюється на id власника файлу. Фактично, це дозволяє звичайним користувачам запускати програми від імені суперкористувача;
- SGID - цей прапор працює аналогічним чином, тільки різниця в тому, що користувач вважається членом групи, з якою пов`язаний файл, а не груп, до яких він дійсно належить. Якщо SGID прапор встановлений на каталог, всі файли, створені в ньому, будуть пов`язані з групою каталогу, а не користувача. Така поведінка використовується для організації спільних папок;
- Sticky-bit - цей біт теж використовується для створення загальних папок. Якщо він встановлений, то користувачі можуть тільки створювати, читати і виконувати файли, але не можуть видаляти файли, що належать іншим користувачам.
Тепер давайте розглянемо як подивитися і змінити права на файли в linux.
Як подивитися права доступу до файлів в Linux
Звичайно, ви можете подивитися права доступу до файлів в Linux за допомогою файлового менеджера. Всі вони підтримують цю функцію, але так ви отримаєте неповну інформацію. Для максимально докладної інформації про всі прапорах, в тому числі спеціальних, потрібно використовувати команду ls з параметром -l. Всі файли з каталогу будуть виведені у вигляді списку, і там будуть показані всі атрибути і біти.
Щоб дізнатися права на файл linux виконайте таку команду, в папці де знаходиться цей файл:
$ Chmod ugo + rwx test5Або заберемо всі права у групи і інших користувачів:
$ Chmod g + rx test5Іншим користувачам тільки читання:
$ Chmod u + s test6А для test7 - SGID:
$ Ls -lЯк бачите, змінити права на файл в linux дуже просто. До того ж ви можете змінити основні права за допомогою файлового менеджера.
висновки
Ось і все, тепер ви знаєте не тільки що таке права доступу до файлів в linux, але і як їх подивитися, і навіть як їх змінити. Це дуже важлива тема, в якій дійсно варто розібратися новачкам, щоб використовувати свою систему більш повноцінно. Якщо у вас залишилися питання, питайте в коментарях!
На завершення хочу запропонувати непогане відео про права доступу в linux:
- Як застосувати аудит доступу користувачів до файлів, папок і принтерів в microsoft windows xp
- Як стати власником файлу або папки (способи для windows 8.1 і нижче)
- Як знайти нові файли в linux
- Як видалити файл через термінал linux
- Як подивитися користувачів ubuntu
- Як зробити файл виконуваним в linux
- Як перейменувати файл linux
- Які ставити права доступу на хостингу
- Команда cacls
- Віртуальна флешка в linux
- Загальні папки linux
- Копіювання файлів в linux
- Команда find в linux
- Незмінні файли в linux
- Групи користувачів linux
- Права суперкористувача linux
- Помилка відмовлено в доступі linux
- Робота з правами доступу до файлів через php
- Права доступу до файлів
- Права доступу (permission) в android
- Шлях до файлу в linux