Команды управления правами доступа

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

Владельцу предоставлены средства командного языка, позволяющими разрешать или запрещать доступ к своим файлам и каталогам.

Права процессов пользователей при доступе к файлу кодируются в атрибутах защиты файла. Атрибуты сопровождают каждый файл, хранятся в описателях файлов, на которые в каталоге имеются ссылки, и доступны для анализа и изменения посредством специальных команд ОС UNIX. Атрибуты защиты файла определяют права доступа трем видам процессов процессам пользов ателя - владельца файла u - user, процессам группы владельца файла g - group и процессам остальных пользователей o - other, не попавших ни в одну из двух предыдущих категорий.

Код атрибутов прав доступа пользователей трех перечисленных категорий для каждого файла отображается в полном листинге каталога символьным кодом в виде комбинации следующих символов r - разрешение на чтение или на выполнение файла, для каталога - просмотр содержимого каталога список всех файлов w - разрешение модификации или удаления файла, для каталога - включение или удаление файлов x - разрешение выполнения файла совместно с - r, для каталога - поиск по каталогу конкретных отдельных файлов или сделать каталог текущим.

Например, полный листинг каталога udd user1 lev может иметь следующий вид -rwxr-xr-x 1 lev user1 171 Mar 4 14 20 fil1.c drwxr-xr-x 2 lev user1 32 Mar 4 14 51 hh Здесь файл fil1.c, владельцем которого является пользователь со входным именем lev, является обычным, содержит исходный текст программы на языке Си длиной 171 байт, доступен владельцу для чтения, записи и выполнения, членам группы и прочим пользователям - только для чтения и выполнения.

Директория hh защищена для включения новых и удаления существующих файлов. Для изменения значений кодов защиты только указанных в команде файлов служит команда chmod коды защиты список файлов Коды защиты r, w, x могут быть заданы только владельцем файла в символьном или числовом виде. Атрибуты задаются для владельца u, его группы g и остальных пользователей o или для всех категорий пользователей одновременно a. Над символьными атрибутами защиты можно выполнять три следующие операции отдельно для владельца, для группы-владельца и для всех остальных пользователей - присвоить значения кодов доступа замена существующих - добавить значения кодов доступа отобрать права доступа.

Необходимо отметить, что новый файл обычно создается по умолчанию как невыполняемый, со стандартным набором прав доступа rw-rw-rw для файла rwxrwxrwx - для каталога. Например, необходимо сделать некоторый файл shproc1 выполняемым, если он был создан как обычный.

Для этого можно использовать следующую команду chmod u x shproc1 shproc1 Выполнение программы из файла shproc1 Эти действия необходимы и при формировании и выполнении shell- процедуры. chmod a x f1 - в данном случае файл f1 становится доступным для исполнения всем пользователям chmod a rwx f2 - предоставляются все права всем категориям пользователей. Числовые значения кодов защиты кодируются трехразрядным восьмеричным числом, где существование соответствующего кода соответствует наличию единицы в двоичном эквиваленте восьмеричной цифры этого числа, отсутствие атрибута - нулю. Например Символьное представление rwx r-x r Двоичное представление 111 101 100 Восьмеричное представление 7 5 4 Поэтому следующая команда chmod 0754 f3 - эквивалентна команде chmod u rwx, g rx, o r f3 В результате выполнения команд в любой из приведенных форм коды доступа файла f3 приобретут следующий вид ls -l f3 -rwxr-xr f3 Таким образом, файл f3 является выполняемым для владельца и группы, чтение его разрешено всем пользователям, модифицировать файл может только владелец. С целью защиты файла от удаления надо отобрать право w как у файла, так и у каталога, в котором находится файл. Стандартные значения кодов прав доступа устанавливает администратор системы.

Однако пользователь в rsh может изменить временно до конца сеанса работы значение кода для всех своих новых файлов с помощью команды umask -r режим-доступа Собственно маска - это двоичный код, с этим кодом и двоичным кодом установленным ране выполняются некоторые логические операции - в результате операции вычисляются новые коды защиты.

В ksh - возможно символьное представление кодов защиты в umask, а собственно числовое значение маски просчитывается системой автоматически и используется для вычисления результирующих заданных в команде кодов доступа ключ -S -выводит на экран текущие символьные значения кодов без ключа - команда выводит числовое значение маски.

Имеются и другие возможности управления правами доступа. Приведенные ниже функции может выполнять только владелец файла или администратор. chown нов владелец имя файла - владелец передает права владения данным файлом другому пользователю или группе. chgrp нов группа имя файла - передача прав другой группе сменить группу. Практическая работа 5 1 Управление правами доступа к файламЦель работы 1. Изучить принципы защиты файлов от несанкционированного доступа 2. Изучить влияние задаваемых прав доступа к файлу на выполнение различных команд по обработке этих файлов. Порядок выполнения работыИзучаются команды chmod - изменить права доступа к указанному файлу. 1 Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2 Выведите на экран Терминала справку по следующим командам chmod.

Назначение и формат команд приведите в отчете. 3 Создайте в Вашем HOME-каталоге один текстовый файл, например с именем f1. Выведите на экран полный листинг каталога. 4 Проанализируйте и умейте объяснить какие права доступа к f1 имеет владелец файла, его группа и остальные пользователи. 5 Выведите на экран содержимое файла f1. Объясните почему операция выполнилась успешно. 6 Запретите права на чтение f1 владельцу и группе. Попытайтесь вывести на экран текст файла.

Объясните почему операция не выполняется. 7 Удалите права на запись в файл. Попытайтесь добавить к файлу текст и удалить его. Объясните результат. 8 Завершите работу с Терминалом Практическая работа 5 2 Управление правами доступа к каталогамЦель работы 1. Изучить принципы защиты каталогов от несанкционированного доступа 2. Изучить влияние задаваемых прав доступа к каталогу на выполнение различных команд по обработке этих каталогов.

Порядок выполнения работыИзучаются команды chmod - изменить права доступа к указанному каталогу. 1 Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2 Выведите на экран Терминала справку по следующим командам chmod.

Назначение и формат команд приведите в отчете. 3 Проанализируйте права доступа к Вашему личному каталогу.

Есть ли ограничения на работу с файлами в этом каталоге? 4 Удалите право на модификацию каталога. Выполните операцию удаления файла f1, созданного в ходе выполнения работы 5 1 . Объясните результат. 5 Создайте подкаталог. Разместите в нем текстовый файл. Проанализируйте права доступа к подкаталогу и объясните возможности по использованию подкаталога. 6 Удалите право владельца на выполнение подкаталога. 7 Попытайтесь сделать подкаталог текущим.

Объясните результат. 8 Просмотрите содержимое подкаталога. Объясните результат. 9 Попытайтесь вывести длинный листинг подкаталога только для одного из файлов поиск файла по подкаталогу. Объясните результат. 10 Попытайтесь вывести на экран содержимое файла. Объясните результат. 11 Верните право для подкаталога на выполнение, удалите право на чтение и сохраните право на модификацию . 12 Выполните п.п. 7, 8, 9, 10. Проанализируйте и объясните результаты 13 Верните право для подкаталога на выполнение, удалите право на чтение и сохраните право на модификацию 14 Выполните п.п. 7, 8, 9, 10. Проанализируйте и объясните результаты 15 Завершите работу с Терминалом Контрольные вопросы 1. Как кодируются в атрибутах файла и каталога права доступа? 2. Кто может пользоваться и изменять права доступа к файлам? 3. Какие команды для изменения символьных кодов прав доступа Вы знаете? Перечислите и расскажите о назначении каждой из команд. 4. В чем разница в применении команд chmod и umask? 5. Какие команды обработки файлов разрешают или запрещают права на чтение, модификацию и исполнение? 6. Какие команды обработки каталогов разрешают или запрещают эти же права? 7. Что означает право на выполнение, применительно к каталогу? 8. Какими правами надо обладать, чтобы удалить файл или каталог? 9. Какие команды для защиты файлов Вы знаете? Тема 2.4.