Chmodchmod (від англ. change mode) — утиліта UNIX-подібних операційних систем. Використовується для зміни прав на файли та каталоги. Є дві варіації запису прав: числова та символьна. Права ставляться для трьох типів користувачів:
Повна символьна форма прав виглядає так: -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 Використання команди chmodchmod [Опції] Права Файли... Опції: [-R], [--recursive] - Змінює права рекурсивно; [-f], [--silent] - приховувати більшість повідомлень про помилки; [-v], [--verbose] - виводити діагностичне повідомлення для кожного обробленого файлу; [-c], [--changes] - як verbose, але повідомляється тільки, якщо зміни відбулися; [--help] - показати цю довідку та вийти; [--version] - показати інформацію про версію програми та вийти; Таблиця для визначення числового коду для прав:
Для прикладу, потрібно дозволити повний доступ (читання, запис та виконання) для власника, для групи та інших дозволити лише читання та виконання. Рахуємо суму чисел записаних в відповідних комірках таблиці: 400+200+100+40+10+4+1=755 Для застосування команди chmod: # chmod 0755 index.html Змінює права на 755 (rwxr-xr-x) для файлу index.html Популярні значення
ОсобливостіЗначеннями за замовчуванням є:
Так відбувається тому, що прапор «виконання» діє по-різному на файли і каталоги. Для каталогу він означає можливість увійти в нього. Наприклад, можна зробити з командного рядка: Ця команда виконає рекурсивне застосування правил для всіх файлів у каталозі «/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 Див. також
Посилання
|