Правило формирования восьмеричного режима доступа проще всего сформулировать с помощью следующей таблицы:
Таблица 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) | Чтение, запись, поиск | Чтение, поиск | Чтение, поиск |
Когда строка режима для группы и других пользователей имеет значение -~х, никто не может просматривать содержимое каталога, кроме его владельца. Если каталог содержит сценарий или программу с установленным битом выполнения, пользователи по–прежнему могут выполнять их, указывая точное имя файла. При этом не имеет значения, может ли пользователь перейти в данный каталог.