Chmod

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

chmod — утиліта UNIX-подібних операційних систем. Використовується для зміни прав на файли та каталоги. Є дві варіації запису прав: числова та буквенна. CHMOD змінює права доступу кожного зазначеного файлу відповідно до правами доступу, зазначеними в параметрі режим, який може бути представлений як у символьному вигляді, так і у вигляді восьмеричного числа, представляє бітову маску нових прав доступу.

Права ставляться для трьох типів користувачів:
  1. Безпосередньо сам користувач (u);
  2. Група (g);
  3. Всі інші (o);

Повна символьна форма прав виглядає так:

-rwxrwxrwx
drwxr-xr-x

де перші 3 символи показують права для користувача; наступні 3 — для групи; останні 3 — для всіх інших. Перший символ «-» показує, що це файл. Перша літера «d» показує, що це каталог. Якщо знак «-» стоїть не на початку символьної форми прав, це означає, що права відсутні (в числовій формі відповідає 0).

Далі показано права в символьній формі та їх відповідник у числовій формі (у дужках «()»):

r (4) - показує право на читання;
w (2) - показує право на запис;
x (1) - показує право на виконання;

Приклад переведення з символьної форми в цифрову:

u   g   o
7   5   3
rwx r-x -wx
rwx = 4+2+1 =7
r-x = 4+0+1 =5
-wx = 0+2+1 =3

Використання команди chmod

chmod [Опції] Права Файли...

Опції:

[-R], [--recursive] - Змінює права рекурсивно;
[-f], [--silent]    - приховувати більшість повідомлень про помилки;
[-v], [--verbose]   - виводити діагностичне повідомлення для кожного обробленого файлу;
[-c], [--changes]   - як verbose, але повідомляється тільки, якщо зміни відбулися;
[--help]            - показати цю довідку та вийти;
[--version]         - показати інформацію про версію програми та вийти;

Таблиця для визначення числового коду для прав:

Дозвіл Власник Група Інші
Читання 400 40 4
Запис 200 20 2
Виконання 100 10 1


Для прикладу, потрібно дозволити повний доступ (читання, запис та виконання) для власника, для групи та інших дозволити лише читання та виконання. Рахуємо суму чисел записаних в відповідних комірках таблиці:

400+200+100+40+10+4+1=755

Для застосування команди chmod:

# chmod 755 index.html

Змінює права на 755 (rwxr-xr-x) для файлу index.html

Популярні значення

400 (-r--------)
Власник має право читання; ніхто інший не має права виконувати ніякі дії
644 (-rw-r-r-)
Усі користувачі мають право читання; власник може редагувати
660 (-rw-rw----)
Власник і група можуть читати і редагувати, решта не мають права виконувати ніякі дії
664 (-rw-rw-r-)
Усі користувачі мають право читання; власник і група можуть редагувати
666 (-rw-rw-rw-)
Усі користувачі можуть читати і редагувати
700 (-rwx------)
Власник може читати, записувати і запускати на виконання; ніхто інший не має права виконувати ніякі дії
744 (-rwxr-r-)
Кожен користувач може читати, власник має право редагувати та запускати на виконання
755 (-rwxr-xr-x)
Кожен користувач має право читати і запускати на виконання; власник може редагувати
777 (-rwxrwxrwx)
Кожен користувач може читати, редагувати та запускати на виконання

Особливості

Значеннями за замовчуванням є:

  • Для файлів: 644 (-rw-r-r-)
  • Для директорій: 755 (drwxr-xr-x)

Так відбувається тому, що прапор «виконання» по-різному діє на файли і директорії. Для теки він означає можливість увійти в неї.