Операционная система UNIX. Руководство пользователя

Как изменить существующие права


Изменить существующие права можно с помощью команды chmod.

Синтаксис команды:

chmod кто+права файл(ы)<CR>

или

chmod кто-права файл(ы)<CR>

где

chmod - имя программы;
кто -одна их трех групп пользователей:
u - владелец;
g - группа;
o - все пользователи;
"+" или "-" - наличие или отсутствие права;
право - одно из трех прав:
r - право на чтение;
w - право на запись;
x - право на выполнение;
файл(ы) - имя файла(ов) (справочника); предполагается, что файл находится в текущем справочнике или вы должны указать полное имя пути.

Примечание. Команда chmod не будет выполняться, если вы поставите пробел между "кто", символами "+", "-" и "право".

В следующих примерах приведены несколько способов использования команды chmod. Как владелец display вы можете читать файл, писать в него и запускать на выполнение файл. Вы можете защитить файл от случайного изменения. Чтобы сделать это, введите следующую командную строку:

chmod u-w display<CR>

После того как получите подсказку, введите команду:

ls -l<CR>

чтобы проверить, как изменились права. Экран будет выглядеть следующим образом:

$ chmod u-w display<CR>

$ ls -l<CR>

total 35 -r-xr-xr-x 1 startship project 9346 Nov 1 08:06 display -rw-r--r-- 1 startship project 6428 Dec 2 10:26 list drwxr-x--x 2 startship project 32 Nov 8 15:32 tools $

Как видите, изменилось право на внесение изменений в файл. Вы не сможете изменить этот файл, пока существует это право записи.

Теперь обратимся к другому примеру. Право на запись в файл display не разрешено вашей группе и всем пользователям системы. Однако им предоставлено право на чтение. Это означает, что они могут копировать файл в свой собственный справочник и затем вносить в него изменения. Чтобы предотвратить эти действия, вы должны отменить право на чтение. Для этого введите команду:

chmod go-r display<CR>

где g и o обозначают права для группы и для всех пользователей системы;
-r - запрещает читать или копировать файл.

Проверьте результат и введите команду ls -l. Экран будет выглядеть следующим образом:


$ chmod go-r display<CR>

$ ls -l<CR>

total 35 -rwx--x--x 1 startship project 9346 Nov 1 08:06 display -rw-r--r-- 1 startship project 6428 Dec 2 10:26 list drwxr-x--x 2 startship project 32 Nov 8 15:32 tools $

Вы можете использовать команду chmod для предоставления или отрицания права для справочников как и для файлов.

Например, вы предоставили право на чтение справочника себе (u), членам вашей группы (g) и всем пользователям системы. Каждый пользователь, имеющий доступ к системе, будет иметь право читать имена файлов, содержащихся в этом справочнике, задав команду ls -l. Аналогично, предоставление права на запись позволяет пользователям создавать новые файлы в справочнике и удалять в нем существующие файлы. Предоставленное право на выполнение в справочнике позволяет обозначенным пользователям перемещаться в этот справочник (и делать его своим текущим справочником) с помощью команды cd.


Содержание раздела