Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы по UNIX / UNIX4

.doc
Скачиваний:
36
Добавлен:
10.05.2014
Размер:
56.83 Кб
Скачать

2

=====================================================

ЛАБОРАТОРНАЯ РАБОТА № 4 (время выполнения -- 2 часа)

Тема: ”Права доступа и защита файлов”

Наличие в ОС Unix множества пользователей с разными правами требует от системы присутствия механизмов разграничения прав доступа. Рассмотрим штатные средства разграничения прав доступа. В большинстве систем Unix используется матричная политика разграничения прав доступа.

1. Права доступа к файлам

Символ

Цифра

Описание

r

4

Пользователь имеет право открытия и чтения содержимого файла

w

2

Пользователь имеет право записи в файл

x

1

Пользователь имеет право запуска файла (программы, скрипта)

-

0

Пользователь не может прочесть, записать или запустить файл

2. Права доступа к каталогам

Символ

Цифра

Описание

r

4

Пользователь имеет право просматривать список файлов в каталоге

w

2

Пользователь имеет право создавать или удалять файлы из каталога

x

1

Пользователь имеет право запуска файла (программы, скрипта)

-

0

Пользователь не может просматривать содержимое каталога, создавать или удалять файлы в каталоге

3. Изменение прав доступа к файлам

команда

Описание

ls

Вывод информации о файлах и каталогах

chown

Смена владельца файла

chgrp

Смена группы файла

chmod

Смена прав доступа

Права доступа задаются для трех категорий пользователей:

  • владелей файла

  • группа, которой принадлежит файл

  • все остальные

Пример

ls –l /export/home/vova

-rwxrw-r-- 1 vova other 109056 Aug 03 15:27 my_file.txt

В приведенном примере владелец файла my_file.txt (пользователь vova) имеет права rwx (право на чтение, запись и исполнение), члены группы other имеют права rw- (права на чтение и запись), а все остальные пользователи имеют права r--(только на чтение)..

Изменение прав доступа может проводиться только владельцем файла (только для тех групп, которым принадлежит владелец) или суперпользователем.

Пример

ls –l /export/home/vova

-rwxrw-r-- 1 vova other 109056 Aug 03 15:27 my_file.txt

chmod 600 my_file.txt

ls –l /export/home/vova

-rw------- 1 vova other 109056 Aug 03 15:27 my_file.txt

4. Маскирование прав

Все вновь создаваемы обычные файлы в ОС Unix получают права доступа rw-, а каталоги – rwx. Можно изменить права, назначаемые вновь создаваемым файлам и каталогам, с помощью команды umask. Маска, назначаемая командой umask, вычитается из маски по умолчанию.

Команда umask без опций позволяет узнать текущее значение маски.

Пример

Маска по умолчанию rw- rw- rw- 666

Значение umask --- -w- -w- 022

Права на вновь созданный файл rw- r-- r-- 644

4. Дополнительные атрибуты файлов

Атрибут

Описание

Setuid bit

Бит смены эффективного идентификатора пользователя. При запуске исполняемого файла с установленным setuid bit программа будет выполняться с правами того пользователя, которому принадлежит файл

Setgid bit

Бит смены эффективного идентификатора группы. При запуске исполняемого файла с установленным setgid bit программа будет выполняться с правами той группы, которой принадлежит файл

Sticky bit

“Липкий” бит. Если на каталог установлен sticky bit, то файлы в каталоге может удалить или переименовать только тот пользователь, кто имеет право на запись в каталог и является одним из:

  • владелец файла

  • владелец каталога

  • суперпользователь

Дополнительные атрибуты устанавливаются с помощью команды chmod.

5. Списки управления доступом

Списки управления доступом (Access Control List) позволяют расширить модель разграничения прав доступа. С помощью ACL можно устанавливать отдельные права доступа для любого пользователя и для любой группы.

Просмотр прав ACL – команда getfacl, установка – команда setfacl.

УПРАЖНЕНИЯ

1. Удалите полностью содержимое каталога /work

2. Определите, какие права доступа определены для файла /usr/bin/su

3. Определите, какие права доступа определены для файла /etc/passwd

4. Определите, какие права доступа определены для файла /etc/shadow

5. Создайте текстовый файл /work/file01, который может читать и изменять только пользователи, принадлежащие группе staff.

6. Создайте текстовый файл /work/file02, который не могут читать и изменять пользователи, принадлежащие группе staff, а все остальные могут.

7. Создайте текстовый файл /work/file03, который могут читать и изменять все пользователи системы.

8. Создайте каталог /work/dir01, в котором любой пользователь может создавать, удалять и запускать файлы.

9. Создайте каталог /work/dir02, в который пользователи группы staff не могут входить, а все остальные могут.

10. Установите значение umask так, чтобы файлы создавались с правами 600, а каталоги – 700.

11. Установите значение umask так, чтобы файлы создавались с правами 640, а каталоги – 740

12. Объясните, для чего на программу passwd установлены атрибуты setuid bit и setgid bit.

13. Определите все программы в каталоге /usr/bin, на которые установлены атрибуты setuid bit и setgid bit

14. Объясните, для чего на каталог /tmp установлен атрибут sticky bit.

15. Установите права на новый файл /work/file05 таким образом, чтобы у членов группы noaccess не было никаких прав на файл, у группы staff были бы все права, а у группы other – только права на чтение.

16. Уберите ограничение на доступ к файлу /work/file05 для группы noaccess.

Соседние файлы в папке Лабы по UNIX