Сhmod (від англ. Change mode) - програма для зміни прав доступу до файлів і директорій. Назва походить від програми ОС Unix chmod, яка, власне, змінює права доступу до файлів, дерикторій та символічних посилань.
Права записуються відразу для трьох типів користувачів: власника-користувача файлу, користувачів, що входять до групи-власник і для інших користувачів. Аргумент команди chmod, що задає дозвіл, може бути записаний у двох форматах: в числовому і в символьному.
Для розуміння суті завдання прав в Unix-like системах, потрібно знати уявлення чисел в вісімковій і двійковій системах числення.
Приклад символьної запису: 'rwxr-xr-x'.
Прикладом числової запису може служити '755 ', яка еквівалентна записаному вище строковому запису. Кожне право має числовий код і може бути задане вручну:
- 400 - власник має право на читання;
- 200 - власник має право на запис;
- 100 - власник має право на виконання;
- 40 - група має право на читання;
- 20 - група має право на запис;
- 10 - група має право на виконання;
- 4 - інші мають право на читання;
- 2 - інші мають право на запис;
- 1 - інші мають право на виконання.
Підсумувавши ці коди можна отримати символьну запис. Наприклад, chmod 444 {имяфайла}: 400+40+4 = 444 - всі мають право тільки на читання.
Крім стандартних 'rwx' значень команда CHMOD здійснює ще управління бітами SGID, SUID і T. Встановлені атрибути SUID або SGID дозволяють запускати файл на виконання з правами власника файлу або групи відповідно.
Для SUID - вага 4000, а для SGID - 2000.
Приклад chmod 455 {имяфайла} - всі мають право на читання і виконання, але запускатися файл на виконання буде з правами власника. Для директорії: установка SGID призведе до установки приналежності кожного нового створюваного файлу до тієї ж групи, до якої належить сама директорія, а не до основної групи власника, як це відбувається за умовчанням. SUID для директорії не має сенсу.
t-біт використовується з директоріями. Коли t-біт для директорії не встановлений, файл в даній директорії може видалити будь-який користувач, який має доступ на запис до даного файлу. Встановлюючи t-біт на директорію, ми міняємо це правило таким чином, що видалити файл може тільки власник цього файлу. Дотримуючись наведеної вище кодуванні, t-біт має вагу 1000.