Права доступу до файлів в 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

perm1

Як бачите, змінити права на файл в linux дуже просто. До того ж ви можете змінити основні права за допомогою файлового менеджера.

висновки

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

На завершення хочу запропонувати непогане відео про права доступу в linux:

Поділися в соціальних мережах:

Схожі
Помилка відмовлено в доступі linuxПомилка відмовлено в доступі linux
Незмінні файли в linuxНезмінні файли в linux
Загальні папки linuxЗагальні папки linux
Права доступу (permission) в androidПрава доступу (permission) в android
Віртуальна флешка в linuxВіртуальна флешка в linux
Команда find в linuxКоманда find в linux
Помилка 403 forbidden nginx 1.4 6 ubuntuПомилка 403 forbidden nginx 1.4 6 ubuntu
Як стати власником файлу або папки (способи для windows 8.1 і нижче)Як стати власником файлу або папки (способи для windows 8.1 і нижче)
Як зробити файл виконуваним в linuxЯк зробити файл виконуваним в linux
Як подивитися користувачів ubuntuЯк подивитися користувачів ubuntu
» » Права доступу до файлів в linux