Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bosy.docx
Скачиваний:
45
Добавлен:
24.06.2017
Размер:
3.14 Mб
Скачать

9. Упр-е дост. Польз-лей к файлам в ос Linux. Права доступа к файлам и кат-гам в ос Linux. Кодир-е прав доступа. Влия-е прав доступа на вып-е операций над ф и к.

Просмотреть текущие права доступа можно по команде:

  • ls -l filename – для файла

  • ls -ld /dirname – для каталога

Результат выполнения команды:

  • user – имя владельца файла

  • users – имя группы владельца файла

Типы файлов: Обычный файл (-); Каталог (d); Файл символьного устройства (с); Файл блочного устройства (b); Сокет (s); Именованный канал (p); Символическая ссылка (l)

Выделяют 3 группы, которые могут иметь права доступа к файлам: user (u) – владелец файла; group (g) – группа владельца файла; others (o) – все остальные; и 3 вида прав доступа для каждой группы: право на чтение (r); право на запись (w); право на исполн-е (x)

Спец. права доступа к файлам в Linux.

  • SUID (Set User ID): если этот бит установлен, то при выполнении программы, id польз-ля, от которого она запущена заменяется на id владельца файла. Т.е. это позволяет обычным польз-лям запускать программы от имени суперпольз-ля

  • SGID (Set Group ID): аналогичен SUID, но относится к группе (польз-ль считается членом группы, с которой связан файл, а не групп, к которым он действительно принадлежит). Если бит SGID установлен для каталога, то создаваемые в нем объекты будут получать группу владельца каталога, а не польз-ля;

  • Sticky-bit: исп-ся в основном для каталогов. Если он установлен, то польз-ли могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим польз-лям.

Спец. права исп-ся довольно редко, поэтому при выводе команды ls -l символ, обозначающий указанные атрибуты, закрывает символ стандартных прав доступа.

В приведенном примере не понятно, rwt – это rw- или rwx? Если t маленькое, значит x установлен. Если T большое, значит x не установлен. То же самое правило распространяется и на s.

Влияние прав доступа на выполнение операций над файлами и каталогами.

Разрешение

Влияние на файлы

Влияние на каталоги

r (read)

Можно прочитать содержимое файла

Можно просмотреть содержимое каталога (имена файлов в каталоге)

w (write)

Можно изменить содержимое файла

Можно создать или удалить любой файл в каталоге

x (execute)

Файл м.б. выполнен как команда

Можно обращаться к содержимому каталога (зависит от разрешений файлов в каталоге)

10. Упр-е доступом польз-лей к файлам в ос Linux. Назначение прав доступа к файлам и каталогам при создании файла. Маска доступа. Изменение прав доступа.

Являясь владельцем файла, вы можете воспользоваться утилитой chmod для изменения прав доступа к этому файлу.

Символьные аргументы: chmod [ключи] кто оператор право список_файлов

Аргумент кто: u – польз-ль, g – группа, o – все остальные, a – все. Аргумент оператор: “+” – добавление прав, “-” – удаление прав, “=” – установка прав переустанавливает все права)

r право на чтение;

w право на запись;

x право на выполнение;

s установка ID польз-ля или ID группы в качестве владельца выполняемого файла (setuid, setgid);

t установка бита флажка огр-я прав на удаление (sticky bit);

X превращение файла в исполняемый, только если он является каталогом или если у класса польз-лей «все остальные» есть права на выполнение;

u установка тех же прав, как у владельца

g установка таких же прав, как у группы

o установка тех же прав, как у всех остальных.

Пример: chmod a=rw temp (изменить режимы доступа для всех польз-лей, давая им право на чтение файла и запись в него)

Числовые аргументы:

chmod [ключи] режим список_файлов

Для указания режима нужно использовать восьмеричное число. Первое число определяет права доступа для владельца, второе – для группы, а третье – для всех остальных, при этом r – заменяют на 4; w – заменяют на 2; x – заменяют на 1.

Для получения числа, представляющего права доступа для владельца, для группы или для всех остальных, нужно сложить соответствующие числа.

Пример: chmod 640 temp

(число 6 – дает владельцу права на чтение и запись (4+2), число 4 дает группе право на чтение, число 0 удаляет все права для остальных польз-лей)

Атрибуты setuid, setgid и sticky bit устанавливаются следующим образом:

Режим

Значение

4000

Установка ID польз-ля при выполнении программы (setuid)

2000

Установка ID группы при выполнении программы (setgid)

1000

Бит флажка ограничения прав на удаление (sticky bit)

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

Установка маски прав доступа: umask [маска], где маска – трехзначное восьмеричное число (или символьное значение).

Цифры соответствуют правам для владельца файла, для группы, и для всех остальных. Маска определяет непредоставляемые права, поэтому система вычитает каждую из этих цифр из 7. Получившиеся 3 восьмеричных числа определяют права доступа к файлу (это те самые числа, которые исп-ся при работе с утилитой chmod).

Большинство утилит и приложений не предпринимают попыток создания файлов с правами на их выполнение независимо от того значения, которое указано в маске; они заранее предполагают, что исполняемый файл создавать не нужно. В результате этого, когда утилита или приложение, напр, утилита touch, создает файл, система вычитает каждую цифру в маске из числа 6.

Исключение составляет утилита mkdir, которая предполагает, что вам нужен установленный бит выполнения (доступ в случае работы с каталогом).

Пример: umask 022 (маска, имеющая значение 022, после вычитания из 777 дает права доступа (rw–r––r––) для файла и 755 (rwxr–xr–x) для каталога)

Соседние файлы в предмете Безопасность операционных систем