Выбрать главу

Правило формирования восьмеричного режима доступа проще всего сформулировать с помощью следующей таблицы:

Таблица 1.4. Определение режима доступа к файлу

Владелец Группа Другие пользователи
rwx rwx rwx
4 + 2 + 1 4+2+1 4+2+1

1.4.4. Дополнительные примеры использования команды chmod

Ниже приведен ряд Примеров, иллюстрирующих применение команды chmod в абсолютном режиме:

Команда Строка режима Результат
chmod 666 rw‑rw‑rw- Установка разрешений на чтение и запись для владельца, группы и других пользователей
chmod 644 rw‑r--r-- Установка разрешений на чтение и запись для владельца; группа и остальные пользователи получают право чтения
chmod rwxr--r-- Предоставление полного доступа владельцу; группа и другие пользователи имеют право чтения
744
chmod rw‑rw‑r-- Установка разрешений на чтение и запись для владельца и группы; другим пользователям предоставляется право чтения
664
chmod Предоставление полного доступа только владельцу; остальным пользователям доступ запрещен
700
chmod r--r--r-- Все пользователи получают разрешение только на чтение
444

В качестве примера изменим права доступа к файлу myfile:

-rw‑r–r-- 1 dave admin 0 Feb 19 22:05 myfile

Необходимо, чтобы владелец имел полный доступ к файлу, а пользователи группы — только разрешение на чтение. Для этого введите следующую команду:

$ chmod 740 myfile

$ ls -l myfile

-rwxr 1 dave admin 0 Feb 19 22:05 myfile

Если другим пользователям также нужно дать разрешение на чтение, воспользуйтесь такой командой:

$ chmod 744 myfile

$ la -1 myfile

-rwxr--r-- 1 dave admin 0 Feb 19 22:05 myfile

Для изменения режима доступа ко всем файлам, находящимся в каталоге, предназначена команда, подобная приведенной ниже:

$ chmod 664 *

В результате выполнения этой команды владелец и группа получат разрешения на чтение и запись всех файлов текущего каталога, а другие пользователи — только право чтения файлов. Чтобы действие данной команды рекурсивно распространилось на все подкаталоги, воспользуйтесь опцией -R:

$ chmod -R 664 *

Следствием применения этой команды является рекурсивный обход всех подкаталогов, которые содержатся в текущем каталоге. При этом владелец и группа получают разрешение на чтение и запись, а другие пользователи -pазрешение на чтение. Используйте опцию -R с осторожностью: убедитесь в том, что действительно требуется изменить разрешения для всех файлов из дерева подкаталогов.

1.5. Каталоги

Установка битов режима приобретает несколько иной смысл, когда команда chmod применяется по отношению к каталогу. Бит "чтения" означает возможность просмотра списка файлов в каталоге. Бит "записи" свидетельствует о том, что вам разрешается создавать и удалять файлы в данном каталоге. Наконец, бит "выполнения" указывает на возможность осуществления поиска файлов в каталоге и перехода в него.

Таблица 1.5. Праве доступа к каталогу

r w X
Возможность просмотра списка файлов в каталоге Возможность Возможность поиска файлов в каталоге и перехода в него
создания/удаления файлов в каталоге

Таблица 1.6. Примеры режимов доступа к каталогу

Строка режима Владелец Группа Другие пользователи
drwxrwxr‑x (775) Чтение, запись, Чтение, запись, Чтение, поиск
поиск поиск
drwxr‑xr- — (754) Чтение, запись, поиск Чтение, поиск Чтение
drwxr‑xr‑x (755) Чтение, запись, поиск Чтение, поиск Чтение, поиск

Когда строка режима для группы и других пользователей имеет значение -~х, никто не может просматривать содержимое каталога, кроме его владельца. Если каталог содержит сценарий или программу с установленным битом выполнения, пользователи по–прежнему могут выполнять их, указывая точное имя файла. При этом не имеет значения, может ли пользователь перейти в данный каталог.