Пользователь может определить права доступа к файлу или справочнику, воспользовавшись командой ls -l. Например, если вы находитесь в справочнике startship/bin, и введете команду ls -l, то получите следующую информацию:
$ ls -l<CR> total 35 -rwxr-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 и list и справочника tools:
-rwxr-xr-x для файла display -rw-r--r-- для файла list drwxr-x--x для справочника tools
Первый символ описывает тип файла (например, символ "-" говорит, что это обыкновенный файл, символ "d" - справочник). Дальнейшие девять символов описывают права доступа. Первые три символа из девяти устанавливают права доступа для владельца, вторые три - для группы, третьи - для всех пользователей. Каждый набор символов r,w,x показывает текущие установленные права доступа для каждой категории пользователей. Если вместо символа стоит "-", то соответствующее право отсутствует.
Существует два ограничения. Случайно могут появиться буквы l или s в строке вместо r, w или x. Буква s представляет специальное право на выполнение файла. Она появляется на том месте, где обычно стоит буква r в наборах для владельца или для группы пользователей и это означает специальное право на выполнение файла. Она имеет значение только для программистов и системных программистов. Буква l указывает, что блокировка будет появляться при обращении к файлу. Это не означает, что файл защищен.
Изменить существующие права можно с помощью команды 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.