Ряд показаних тут команд використовується для зміни власника або групи файла або його прав. Ми розглядали різні типи прав доступу в Розділ 1, Базові поняття системи UNIX®.
Синтаксис команди chown (CHange OWNer - змінити власника) наступний:
chown [опції] <користувач[:група]> <файл|каталог> [файл|каталог...]
-R
: рекурсивно. Для зміни власника для всіх файлів і підкаталогів у зазначеному каталозі.
-v
: докладний режим. Показує всі дії, виконувані chown; повідомляє, для яких файлів були змінені власники в результаті виконання команди, і які файли залишилися без змін.
-c
: подібна до опції -v
, але повідомляє лише про ті файли, що були змінені.
chown nobody /shared/book.tex: змінює власника файла /shared/book.tex
на nobody
.
chown -Rc queen:music *.mid concerts/: змінює власника всіх файлів у поточному каталозі, чиї імена закінчуються на .mid
, і всіх файлів і підкаталогів в каталозі concerts/
на користувача queen
і групу music
, повідомляючи лише про ті файли, які були оброблені командою.
Команда chgrp (CHange GRouP - змінити групу) дозволяє вам змінювати приналежність до групи файла (чи файлів); її синтаксис дуже схожий на синтаксис команди chown:
chgrp [опції] <група> <файл|каталог> [файл|каталог...]
Опції для цієї команди такі самі, як і у chown, і використовується вона дуже схожим способом. Так, команда: chgrp disk /dev/hd* змінює приналежність всіх файлів в каталозі /dev/
з іменами, що починаються з hd
, до групи disk
.
Команда chmod (CHange MODe - змінити режим) має дуже специфічний синтаксис. Загалом він виглядає так:
chmod [опції] <зміна режиму> <файл|каталог> [файл|каталог...]
Але різниця полягає в формах, якими можна змінювати режим. Його може бути визначено двома способами:
через вісімкові числа. Права власника у цьому випадку відповідають числам у формі <x>00
, де <x>
відповідає присвоєнню прав: 4 на читання, 2 на запис і 1 на виконання. Так права групи беруться за формою <x>0
і права для “інших” у формі <x>
. Потім все, що потрібно зробити, це скласти разом надані права, щоб отримати правильний режим. Так, права rwxr-xr--
відповідають 400+200+100 (права власника, rwx
) +40+10 (права групи, r-x
) +4 (права для інших, r--
) = 754; таким чином права виражені в абсолютних значеннях. Це означає, що попередні права беззастережно змінено;
через вираз. Тут права виражені послідовністю виразів, розділених комами. Отже, вираз матиме вид: [category]<+|-|=><права>
.
Категорій може бути одна чи кілька:
Якщо категорію не визначено, зміни стосуються всіх категорій. +
встановлює права, -
забирає права й =
встановлює права, що зазначено у командному рядку. Права бувають такі:
Головні опції повністю ідентичні опціям команд chown і chgrp:
chmod -R o-w /shared/docs: рекурсивно знімає права на запис для інших
всім файлам і підкаталогам в каталозі /shared/docs/
.
chmod -R og-w,o-x private/: рекурсивно знімає права на запис для групи
і інших
у всьому каталозі private/
і знімає права на виконання для інших
.
chmod -з 644 misc/file*: змінює права для всіх файлів в каталозі misc/
, чиї імена починаються з file
на rw-r--r--
(тобто читання для всіх, а запис тільки для власника), і повідомляє лише про ті файли, які були змінені командою.