Лабораторная работа по ОС. Лабораторная работа 14 Управление правами доступа Цель работы
Скачать 22.75 Kb.
|
Лабораторная работа №14 «Управление правами доступа» Цель работы: Получить навыки по управлению правами доступа к файловым ресурсам системы. Методические указания: Выполняя предыдущие лабораторные работы вы уже сталкивались с разграничением прав доступа в ОС Линукс. Такое разграничение обусловлено многозадачностью и многопользовательским режимом Линукс и призвано повысить безопасность и надежность системы, а также обеспечить защиту конфиденциальной информации. Атрибуты файла Каждый файл в Линукс характеризуется набором атрибутов, определяющих его принадлежность и права доступа. Отношение принадлежности файла определено для: владельца файла(user) - пользователя, создавшего (что не обязательно) этот файл; группы (group) - в состав которой входит владелец; прочих (other) пользователей. К правам доступа относятся: чтение (read), изменение (write), исполнение (execute). Понимание этих прав будет различным и зависеть от содержания файла. Наибольшие различия - между обычными (regular) файлами и каталогами. Эти различия приведены в табл. 1.
Атрибуты файла могут быть представлены в символьном или числовом виде. Символьное представление атрибутов - это строка, где последовательно записаны права доступа в следующем виде: rwxrwxrwx где каждая тройка символов определяет права на чтение (r), запись (w) и исполнение (x) для соответстующих пользователей (первая тройка - для владельца (user), вторая - для группы (group), третья - для прочих (other). Вот пример отображения списка файлов с правами доступа, представленными в символьном виде: aag@stilo:> dir -L1 итого 2722316 -rw-r--r-- 1 aag users 498444757 Ноя 27 16:15 aag.asoiu.tar.gz drwxr-xr-x 2 aag users 4096 Июн 1 2007 bin -rw-r--r-- 1 aag users 26 Фев 20 10:20 description.txt drwxr-xr-x 5 aag users 4096 Мар 2 20:01 Desktop drwx------ 2 aag users 4096 Фев 23 09:50 Documents drwxr-xr-x 4 aag users 4096 Фев 28 00:03 downloads -rwxrwxr-x 1 aag users 7523 Окт 20 2006 Dz19.jpg -rw-r--r-- 1 aag users 8336 Фев 24 01:12 httpd.myconf -rw-r--r-- 1 aag users 20 Фев 25 16:32 index.html -rw-r--r-- 1 aag users 30296 Фев 23 10:05 logofish.xcf drwxr-xr-x 2 aag users 4096 Сен 28 22:53 Music drwxr-xr-x 3 aag users 4096 Дек 3 13:45 Projects drwxr-xr-x 4 aag users 4096 Фев 26 00:05 public_html -rw-r--r-- 1 aag users 1088 Фев 20 10:18 readme.txt drwxr-xr-x 4 aag users 4096 Фев 27 23:41 scrapbook -rw------- 1 root root 0 Июн 2 2007 session_mm_cli0.sem Обратите внимание на первые символы в записи прав доступа. В приведенном листинге первый символ d указывает, что файл является каталогом. Признаком специального символьного и блочного устройств являются символы с и b, а для каналов (pipes)соответсвенно p. Числовое представление прав доступа - это трехзначное число, каждая цифра которого определяет (слева направо) права для владельца, группы и прочих. Права определяются как сумма цифр 4 (чтение), 2 (запись) и 1 (исполнение). Таким образом, например файл f1, создателем которого является user1 и разрешенный для чтения и изменения членам группы users и только чтение всем прочим, будет иметь cледующие атрибуты: - в символьном виде: rw-rw-r-- - в числовом виде: 664 Вновь создаваемый файл обычно получает права rw-r--r-- (зависит от установок системы и значения umask (см. man umask). Для изменения атрибутов используется команда chmod, которая может принимать как символьное, так и числовое представление атрибутов в качестве параметра. Ниже приведены примеры использования команды: aag@stilo:> dir hello.txt -rw-r--r-- 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod go+w hello.txt // разрешить запись для группы и прочих aag@stilo:> dir hello.txt -rw-rw-rw- 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod ug+x hello.txt // разрешить выполнение для владельца и группы aag@stilo:> dir hello.txt -rwxrwxrw- 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod a-x hello.txt // запретить выполнение для всех (a == ugo) aag@stilo:> dir hello.txt -rw-rw-rw- 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod go-w hello.txt // запретить запись для группы и прочих aag@stilo:> dir hello.txt -rw-r--r-- 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod 755 hello.txt // разрешить чтение и выполнение всем и запись владельцу aag@stilo:> dir hello.txt -rwxr-xr-x 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod 644 hello.txt // запретить выполнение всем aag@stilo:> dir hello.txt -rw-r--r-- 1 aag users 17 Мар 2 22:32 hello.txt aag@stilo:> chmod 711 hello.txt // разрешить только выполнение для группы и прочих aag@stilo:> dir hello.txt -rwx--x--x 1 aag users 17 Мар 2 22:32 hello.txt Для смены владельца файла и группы (опционально) используется команда chown, а для смены группы - команда chgrp (см. man chown, man chgrp). Задания к работе Войти в систему с собственной учетной записью Создать в домашнем каталоге 2-3 файла произвольного содержания (имена файлов - u1, u2, u3). Получить развернутый список файлов домашнего каталога и сохранить его в файле listing1 Просмотреть файл listing1, обратив внимание на поля прав доступа, владельца и группы Повторить п. 2 от имени пользователя root в новом сеансе или по команде su (имена файлов - r1, r2, r3). Завершить сеанс root Повторить п.3, результат дописать в файл listing1 Открыть файл listing1 и сравнить права доступа для файлов, созданных от вашего имени и от имени суперпользователя Изменить содержимое файлов, созданных вами и суперпользователем. Сохранить изменения В tty2 открыть сеанс root Перейти в каталог /home/ваша_учетная_запись Изменить права доступа к файлам u1 и r1 следующим образом: u1: запретить запись для владельца и группы r1: разрешить запись для всех Переключиться в tty1 и изменить содержимое файлов u1 и r1. Сохранить изменения Перейти в tty2 и изменить владельца файлов u1 и u2 на root,а группу на stud Из tty1 попробовать изменить файл u2 В tty1 создать файл hello следующего содержания #! /bin/sh echo Hello, World! echo -n "I'm " whoami Выполнить следующие действия и проанализировать результаты: набрать в командной строке имя файла hello и нажать Enter набрать в командной строке sh hello и нажать Enter установить для файла hello права на исполнение (x), ввести имя файла в командной строке (./hello) и нажать Enter Из tty2 создать каталоги /home/shared, home/shared/pub, /home/shared/upload, /home/shared/temp. Установить на них следующие права:
Выполнить копирование, чтение, удаление файлов u1, u2, u3, r1, r2, r3 в каталоги, созданные в п. 17 из сеансов root, stud и вашего. Сравнить и проанализировать результаты. Завершить все сеансы. |