Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Sticky-бит




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

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

Каждому файлу в ОС UNIX соответствует набор, состоящий из девяти битов кода прав доступа для пользователя, который определяет, какие пользователи имеют право читать файл, записывать в него некие данные или выполнять его. Дополнительные 3 бита задают коды прав доступа для выполняемых файлов. Эти 12 бит образуют код прав доступа к файлу. Еще 4 бита отводится для хранения информации о типе файла. Эти 4 бита типа файла устанавливаются при его создании и изменению не подлежат. Двенадцать битов прав доступа в любое время могут быть изменены владельцем файла или привилегированным пользователем с помощью команды chmod (change mode).

Биты с восьмеричными значениями 4000 и 2000 – это биты смены идентификатора пользователя и идентификатора группы. Эти биты позволяют программам получать доступ к файлам и процессам, к которым имеет доступ владелец или группа, владеющая данной программой.

Уясним это себе на следующем простом примере. Рассмотрим утилиту passwd, которая служит для изменения паролей пользователей. Очевидно, что изменение пароля влечет за собой изменение определенных системных файлов паролей, например, для ряда BSD-систем - /etc/passwd и /etc/master.passwd. Очевидно, что право на запись, (а для файла /etc/master.passwd и на чтение) для этих файлов должно иметься только у привилегированного пользователя, а если это так, то никто кроме привилегированного пользователя не сможет изменить свой пароль. Бит смены идентификатора пользователя, установленный для утилиты passwd, позволяет довольно изящно решить эту проблему и тем самым дать возможность любому пользователю изменить свой пароль, сохраняя при этом права доступа к файлам паролей. Поскольку владельцем программы passwd является root, то кто бы ни запустил утилиту passwd, во время работы данной программы он временно получает права привилегированного пользователя (точнее не сам пользователь, а утилита passwd), т.е. может произвести запись в системные файлы паролей. Понятно, что требования по безопасности для такой программы должны быть повышены. Утилита passwd должна только лишь производить изменение пароля только пользователя, запустившего ее, и не делать ничего более (например, не должна запускать другие программы)!

Бит, восьмеричное значение которого равно 1000 называется sticky-битом (sticky – “липучка”). В давние времена машин PDP-11/70, где UNIX провела свое “отрочество”, требовалось, чтобы некоторые программы (а точнее их образ, т.е. код и данные) оставались в памяти, даже после того как были завершены. Тогда sticky-бит был очень важен. Сегодня в мире быстродействующих дисковых накопителей и относительно дешевых модулей памяти sticky-бит в выполняемом файле никем уже не используется, и современные программы ядра попросту игнорируют его.

Установленный на каталог sticky-бит не дает возможности пользователям удалять из него файлы, владельцами которых они не являются. Т.е. иными словами, пользователи, которые являются владельцами файлов в каком-либо каталоге или имеют на эти файлы явные права на запись, могут удалять их, и не могут удалять файлы, владельцами которых не являются. Подчеркнем, что если sticky-бит не установлен на каталог, то пользователь, у которого есть право на запись в данный каталог может удалить из каталога даже те файлы, владельцем которых он не является или у него нет явных прав на запись по отношению к этим файлам. Эта проблема как раз и решается путем установки sticky-бита на каталог. Типичным примером каталога с установленным sticky-битом может послужить /tmp, право на запись в который имеет каждый пользователь системы.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 911; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.