unix permissions file permissions unix with examples
Дозволи Unix: дізнайтеся, якими є різні дозволи для файлів у Unix
Unix - це багатокористувацька система, де однаковими ресурсами можуть користуватися різні користувачі.
Усі дозволи в Unix засновані на обмеженні доступу до певних файлів і папок для певних користувачів або груп користувачів.
=> Клацніть тут, щоб переглянути повну серію підручників Unix
Що ви дізнаєтесь:
- Дозволи Unix: Дозволи на файли з прикладами
- Інструменти командного рядка Unix для зміни дозволів доступу
- Висновок
- Рекомендована література
Дозволи Unix: Дозволи на файли з прикладами
Доступ до файлу має три рівні:
- Дозвіл на читання - Якщо авторизовано, користувач може прочитати вміст файлу.
- Дозвіл на написання - Якщо авторизовано, користувач може змінити файл.
- Виконати дозвіл - Якщо авторизовано, користувач може виконати файл як програму.
Кожен файл пов'язаний з набором ідентифікаторів, які використовуються для визначення того, хто може отримати доступ до файлу:
- Ідентифікатор користувача (UID) - Вказує користувача, якому належить файл. За замовчуванням це творець файлу.
- Ідентифікатор групи (GID) - Вказує групу користувачів, якій належить файл.
Нарешті, із кожним файлом пов’язано три набори дозволів доступу:
- Дозвіл користувача - Вказує рівень доступу, наданий користувачеві, який відповідає UID файлу.
- Дозвіл на групу - Визначає рівень доступу, що надається користувачам у групах, що відповідають GID файлу.
- Дозвіл інших - Вказує рівень доступу, що надається користувачам без відповідного UID або GID.
Разом ця схема контролю доступу робить систему Unix надзвичайно безпечною, одночасно забезпечуючи гнучкість, необхідну для багатокористувацької системи.
ls -l команда може використовуватися для перегляду дозволів, пов'язаних з кожним із файлів у поточній папці.
Приклад виведення цієї команди наведено нижче.
Приклад:
прапори посилання розмір групи власників розмір модифікованої дати
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
У цьому висновку „загальна кількість 24” вказує загальну кількість блоків, зайнятих переліченими файлами.
Решта стовпці:
- прапори - Колекція прапорів, що вказують режим файлу та дозволи файлу.
- посилання - Кількість посилань, пов’язаних із файлом.
- власник - UID, якому належить файл.
- група - GID, пов’язані з файлом.
- розмір - Розмір файлу в байтах.
- дата зміни - Місяць, дата, година та хвилина останньої модифікації файлу.
- ім'я - Ім'я файлу або каталогу.
Прапори у першому стовпці вказують режим файлу та різні набори дозволів:
# 1) Перший символ вказує на тип файлу:
ліве з'єднання проти ліве зовнішнє з'єднання
- -: представляє звичайний файл
- d: представляє каталог
- c: представляє файл пристрою символів
- b: представляє файл блоку пристрою
# 2) Наступні три символи вказують дозволи користувача:
- Перший із цих трьох вказує, чи має користувач дозвіл на читання:
-
- -: означає, що користувач не має дозволу на читання.
- r: вказує на те, що користувач має дозвіл на читання.
-
- Другий символ вказує, чи повинен користувач писати дозвіл:
-
- -: означає, що користувач не має дозволу на запис.
- w: вказує, що користувач повинен писати дозвіл.
-
- Останній символ вказує, чи виконував користувач дозвіл:
-
- -: вказує, що користувач не повинен виконувати дозвіл.
- x: означає, що користувач виконав дозвіл.
-
# 3) Наступні три символи позначають групові дозволи, подібні до дозволів користувача вище.
# 4) Останні три символи вказують на загальнодоступні дозволи, подібно до дозволів користувача вище.
Якщо файл є звичайним файлом, дозвіл на читання дозволяє користувачеві відкрити файл та перевірити його вміст. Дозвіл на запис дозволяє користувачеві змінювати вміст файлу. І дозвіл на виконання дозволяє користувачеві запускати файл як програму.
Якщо файл є каталогом, дозвіл на читання дозволяє користувачеві перерахувати вміст каталогу. Дозвіл на запис дозволяє користувачам створювати новий файл у каталозі та видаляти з нього файл чи каталог. Дозвіл на виконання дозволяє користувачеві виконувати пошук у каталозі.
Інструменти командного рядка Unix для зміни дозволів доступу
Unix надає ряд інструментів командного рядка для зміни дозволів доступу:
Зверніть увагу, що лише власник файлу може змінити дозволи на доступ.
1. chmod : змінити дозволи на доступ до файлу
- опис: Ця команда використовується для зміни дозволів файлу. Ці дозволи мають права на читання, запис і виконання для власника, групи та інших.
- синтаксис (символічний режим) :
chmod (ugoa)((+-=)(mode)) file
- Перший необов’язковий параметр вказує, хто - це може бути (u) ser, (g) roup, (o) thers або (a) ll
- Другий необов’язковий параметр вказує код операції - це може бути для додавання (+), видалення (-) або призначення (=) дозволу.
- Третій необов’язковий параметр вказує режим - це може бути (r) ead, (w) обряд або e (x) ecute.
Приклад :Додайте дозвіл на запис для користувача, групи та інших для файлу1
$ ls -l
-rw-r – r– 1 користувальницький персонал 39 червня 21 15:37 файл1
-rw-r – r– 1 користувальницький персонал 35 червня 21 15:32 file2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 1 користувальницький персонал 39 червня 21 15:37 файл1
-rw-r – r– 1 користувальницький персонал 35 червня 21 15:32 file2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 користувальницький персонал 39 червня 21 15:37 файл1
-rw-r – r– 1 користувальницький персонал 35 червня 21 15:32 file2
- синтаксис (числовий режим) :
chmod (mode) file
- Режим являє собою комбінацію з трьох цифр - перша цифра вказує дозвіл для користувача, друга цифра для групи, а третя цифра для інших.
- Кожна цифра обчислюється шляхом додавання відповідних дозволів. Дозвіл на читання - «4», дозвіл на запис - «2», а дозвіл на виконання - «1».
- Приклад :Дайте дозвіл на читання / запис / виконання користувачеві, дозвіл на читання / виконання групі та дозвіл на виконання іншим.
$ ls -l
-rw-r – r– 1 користувальницький персонал 39 червня 21 15:37 файл1
-rw-r – r– 1 користувальницький персонал 35 червня 21 15:32 file2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 користувальницький персонал 39 червня 21 15:37 файл1
-rw-r – r– 1 користувальницький персонал 35 червня 21 15:32 file2
2. чаун : змінити право власності на файл.
- опис : Тільки власник файлу має право змінювати право власності на файл.
- синтаксис : chown (власник) (файл)
- Приклад :Змініть власника файлу1 на користувача2, припускаючи, що він наразі належить поточному користувачеві
$ chown user2 file1
3. chgrp : змінити групову власність на файл.
- опис : Тільки власник файлу має право змінювати право власності на файл.
- синтаксис : chgrp (група) (файл)
- Приклад :Змінити групу файлу1 на групу2, якщо припустити, що вона наразі належить поточному користувачеві.
$ chgrp group2 file1
Під час створення нового файлу Unix встановлює дозволи для файлів за замовчуванням. Unix використовує значення, яке зберігається у змінній, що називається umask, для вирішення стандартних дозволів. Значення umask повідомляє Unix, який із трьох наборів дозволів потрібно відключити.
Прапор складається з трьох вісімкових цифр, кожна з яких представляє маски дозволів для користувача, групи та інших. Дозволи за замовчуванням визначаються шляхом віднімання значення umask з «777» для каталогів та «666» для файлів. Значення за замовчуванням umask - «022».
4. умаска : змінити дозволи на доступ за замовчуванням
шаблон автоматичного тесту для селену
- опис: Ця команда використовується для встановлення стандартних дозволів для файлів. Ці дозволи мають права на читання, запис і виконання для власника, групи та інших.
- синтаксис : umask (режим)
- Режим являє собою комбінацію з трьох цифр - перша цифра вказує дозвіл для користувача, друга цифра для групи, а третя цифра для інших.
- Кожна цифра обчислюється шляхом додавання відповідних дозволів. Дозвіл на читання - «4», дозвіл на запис - «2», а дозвіл на виконання - «1».
Приклад :Дайте користувачеві дозвіл на читання / запис / виконання, а не дозволи на групування чи інші. тобто дозвіл на файли буде 600, а на каталоги - 700.
$ umask 077
- Приклад :Дайте користувачеві дозвіл на читання / запис / виконання, дозволи на читання / виконання групі або іншим для каталогів та дозвіл лише на читання для групи чи інших файлів. тобто дозвіл на файли буде 644, а на каталоги - 755.
$ umask 022
Висновок
Дозволи в Unix можуть бути для 'користувача', 'групи' та для всіх користувачів, яких називають 'Інші'.
Деталі, такі як прапори дозволів, кількість посилань, власник, група, розмір, дата останньої модифікації, файл тощо, можна просто отримати за допомогою команди “ls-l”.
=> Клацніть тут, щоб переглянути повну серію підручників Unix
НАЗАД Підручник | НАСТУПНИЙ підручник
Рекомендована література
- Дозволи доступу до файлів Unix: Unix Chmod, Chown та Chgrp
- Вирізати команду в Unix з прикладами
- Маніпулювання файлами в Unix: огляд файлової системи Unix
- Команди Unix: основні та вдосконалені команди Unix з прикладами
- Команда Знайти в Unix: Знайти файли за допомогою файлу пошуку Unix (Приклади)
- Підручник UNIX для початківців (20+ поглиблених навчальних відеороликів Unix)
- Команди обробки тексту Unix: фільтри Unix із прикладами
- Спеціальні символи Unix або метасимволи для управління файлами