Студопедия — Дополнительные атрибуты файла
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






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

Дополнительные атрибуты также устанавливаются утилитой chmod(l), но вместо кодов 'г', W или Y используются коды из табл. 1.3. Например, для установки атрибута SGID для файла filel необходимо выполнить команду $ chmod g+s filel.

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

Таблица 1.3. Дополнительные атрибуты для обычных файлов

 

Код Название Значение
t Sticky bit Сохранить образ выполняемого файла в памяти после завершения выполнения
S Set UID, SUID Установить UID процесса при выполнении
S SetGID, SGID Установить GID процесса при выполнении
  Блокирование Установить обязательное блокирование файла

 

Установка атрибута Sticky bit (действительное название — save text mode) редко используется в современных версиях UNIX для файлов. В ранних версиях этот атрибут применялся с целью уменьшить время загрузки наи­более часто запускаемых программ (например, редактора или командного интерпретатора). После завершения выполнения задачи ее образ (т. е. код и данные) оставались в памяти, поэтому последующие запуски этой про­граммы занимали значительно меньше времени.

Атрибуты (или флаги) SUID и SGID позволяют изменить права пользова­теля при запуске на выполнение файла, имеющего эти атрибуты. При этом привилегии будут изменены (обычно расширены) лишь на время вы­полнения и только в отношении этой программы6.

Обычно запускаемая программа получает права доступа к системным ре­сурсам на основе прав доступа пользователя, запустившего программу. Установка флагов SUID и SGID изменяет это правило, назначая права доступа исходя из прав доступа владельца файла. Таким образом, запущенный исполняемый файл, которым владеет суперпользователь, получает неогра­ниченные права доступа к системным ресурсам, независимо от того, кто его запустил. При этом установка SUID приведет к наследованию прав владельца-пользователя файла, а установка SGID — владельца-группы.

В качестве примера использования этого свойства рассмотрим утилиту passwd(l), позволяющую пользователю изменить свой пароль. Очевидно, что изменение пароля должно привести к изменению содержимого опре­деленных системных файлов (файла пароля /etc/passwd или /etc/shadow, или базы данных пользователей, если используется дополнительная защи­та системы). Понятно, что предоставление права на запись в эти файлы всем пользователям системы является отнюдь не лучшим решением. Уста­новка SUID для программы passwd(l) (точнее, на файл /usr/bin/passwd — исполняемый файл утилиты passwd(l)) позволяет изящно разрешить это противоречие. Поскольку владельцем файла /usr/bin/passwd является су-

Следует оговориться, что если программа в процессе выполнения запускает другие задачи, то они будут наследовать ее права доступа. Поэтому устанавливать флаги SUID и SGID следует с большой осторожностью и только для программ, которые не имеют возможно­сти запуска произвольных задач.

Суперпользователь (его имя в системе — root), то кто бы ни запустил утилиту passwd(l) на выполнение, во время работы данной программы он временно получает права суперпользователя, т. е. может производить запись в сис­темные файлы, защищенные от остальных пользователей.

$ Is -lFa /usr/bin/passwd

-r-sr-sr-x 3 root sys 15688 Oct 25 1995 /usr/bin/passwd*

Понятно, что требования по безопасности для такой программы должны быть повышены. Утилита passwd(l) должна производить изменение пароля только пользователя, запустившего ее, и не позволять никакие другие опе­рации (например, вызов других программ).

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

Однако вернемся к обсуждению дополнительных атрибутов для каталогов (табл. 1.4).

Таблица 1.4. Дополнительные атрибуты для каталогов

 

Код Название Значение
t Sticky bit Позволяет пользователю удалять только файлы, кото­рыми он владеет или имеет права на запись
s Set GID, SGID Позволяет изменить правило установки владельца-группы создаваемых файлов, аналогично реализован­ному в BSD UNIX

 

При обсуждении прав доступа отмечалось, что предоставление права на запись в каталог дает достаточно большие полномочия. Имея такое право, пользователь может удалить из каталога любой файл, даже тот, владельцем которого он не является и в отношении которого не имеет никаких прав. Установка атрибута Sticky bit для каталога позволяет установить дополни­тельную защиту файлов, находящихся в каталоге. Из такого каталога поль­зователь может удалить только файлы, которыми он владеет, или на кото­рые он имеет явное право доступа на запись, даже при наличии права на запись в каталог. Примером может служить каталог /tmp, который являет­ся открытым на запись для всех пользователей, но в котором может ока­заться нежелательной возможность удаления пользователем чужих времен­ных файлов.

Атрибут SGID также имеет иное значение для каталогов. При установке этого атрибута для каталога вновь созданные файлы этого каталога будут наследовать владельца-группу по владельцу-группе каталога. Таким обра­зом для UNIX версии System V удается имитировать поведение систем версии BSD, для которых такое правило наследования действует по умол­чанию.

Посмотреть наличие дополнительных атрибутов можно с помощью под­робного списка файлов:

$ is -1

drwxrwxrwt 5 sys sys 367 Dec 19 20:29 /tmp

-r-sr-sr-x 3 root sys 15688 Oct 25 1995 /usr/bin/passwd*

 

Таблица 1.5. Операции изменения атрибутов файла

Операция Команда/системный вызов   Кому разрешено
Изменение прав доступа chmod(1) владелец
Изменение дополнитель ного атрибута Sticky bit chmod(1) суперпользователь
Изменение дополнитель ного атрибута SGID chmod(1) владелец, причем его GID также должен совпадать с идентификатором группы файла

 







Дата добавления: 2015-10-12; просмотров: 415. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия