chmod
chmod (від англ. change mode) — утиліта UNIX-подібних операційних систем. Використовується для зміни прав на файли та каталоги. Є дві варіації запису прав: числова та символьна. Права ставляться для трьох типів користувачів:
- Безпосередньо сам користувач (u);
- Група (g);
- Всі інші (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 0755 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)
Так відбувається тому, що прапор «виконання» діє по-різному на файли і каталоги. Для каталогу він означає можливість увійти в нього.
Наприклад, можна зробити з командного рядка: Ця команда виконає рекурсивне застосування правил для всіх файлів у каталозі «/home/test», а також для всіх файлів у всіх підкаталогах:
# find /home/test -type f -exec chmod 644 {} \;
Ця команда виконає рекурсивне застосування правил для всіх каталогів у каталозі «/home/test», а також для всіх каталогів у всіх підкаталогах:
# find /home/test -type d -exec chmod 755 {} \;
Того ж результату можна досягти і без використання find (зверніть увагу на велику літеру X) :
# chmod -R go=rX,u=rwX /home/test
Див. також
chown
, команду використовують для зміни власника файлу або каталогу в Unix-подібних системахchgrp
, команду використовують для зміни групи файлів або каталогів в Unix-подібних системах- Програми UNIX-подібних операційних систем
Посилання
- chmod(1) — сторінка допомоги у FreeBSD
chmod
— сторінка допомоги GNU Coreutils.- GNU «Setting Permissions» manual
- Solaris 9 chmod man page
- Mac OS X chmod man page, which also supports access control lists.
- CHMOD-Win 3.0 — Freeware Windows' ACL ←→ CHMOD converter.
- What CHMOD? File Permissions Calculator, web-based CHMOD calculator.
- Beginners tutorial with on-line «live» example