русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Промены


Дата добавления: 2013-12-23; просмотров: 778; Нарушение авторских прав


Команда auths

Команда auths позволяет просматривать перечень выделенных вам на уровне ядра полномочий и перезапускать Shell с указанными полномочиями на использование тех или иных команд. Перейдем к объяснению порядка использования команды auths с различными аргументами (примеры даны для пользователя с полномочиями типа execsuid и chown):

* Команда auths без аргументов выдает список полномочий уровня ядра. Например:

───────────────────────────────────────────────────



│ $ auths

│ Kernel authorizations: execsuid, chown

 

* Команда auths с опцией -a позволяет ограничивать набор выделяемых полномочий. Так, например, пользователь, уже имеющий полномочия execsuid и chown, может сократить их до полномочия chown:

──────────────────────────────────────────────────



│ $ auths -a chown

│ $ auths

│ Kernel authorizations: chown

 

Для восстановления полномочий вам следует выйти из Shell'а, запущенного с командой auths -a.

* Команда auths с опцией -r позволяет указывать снимаемые полномочия. Например:

───────────────────────────────────────────────────



│ $ auths -r chown

│ $ auths

│ Kernel authorizations: execsuid

Для восстановления полномочий вам следует выйти из Shell'а, запущенного с командой auths -r.

* Команда auths с опцией -c позволяет вместо запуска интерактивной подоболочки вводить команду. В нижеприведенном примере после удаления полномочий chown запускается команда auths.

────────────────────────────────────────────────────



│ $ auths -r chown -c auths

│ Kernel authorizations: execsuid

 

Когда же пользователь вновь обратится к списку полномочий, которыми он располагает, полномочия chown восстановятся:

────────────────────────────────────────────────────



│ $ auths

│ Kernel authorizations: execsuid, chown

Благодаря наличию променов можно управлять степенью разрушений, порождаемых в ваших данных SUID-программой. Напомним, что SUID-программа начинает свое выполнение под исполнительным кодом пользователя, равным коду владельца SUID-программы, и действительным кодом пользователя, вызвавшего программу. В традиционных UNIX-подобных системах SUID-программа имеет полный доступ ко всем файлам, процессам и IPC-об'ектам (т.е. ко всему, что имеет общее название "ресурсы"), к которым владелец программы ИЛИ инициатор ее запуска сам имеет доступ, поскольку программа с помощью команды setuid может переходить с кода владельца на код запускающего. Снаружи промена эта возможность ограничивается ресурсами, к которым инициатор запуска и владелец имеют доступ одновременно, что видно из настоящего раздела.

В UNIX-подобных системах SUID-программы используются для того, чтобы защитить файлы от доступа к ним извне кого бы то ни было, за исключением хорошо известного набора программ. Примером может служить набор команд управления устройством построчной печати, имеющий дело с совокупностью файлов конфигурации, файлов состояния и командных файлов на языке Shell, с помощью которых ведется слежение за распределением заданий между печатающими устройствами. Несколькими командами пользователи и администраторы запускают и отменяют эти задания, запрашивают и изменяют статус печатающих устройств, добавляют и удаляют устройства из системы или из активного контура. Все файлы печати принадлежат псевдопользователю lp, код которого выступает в качестве кода владельца всех файлов, используемых в подсистеме управления построчной печатью, включая сами специальные файлы печатающих устройств.

В то время, когда файл распечатывается командой lp, программа может обращаться не только к файлам в базе данных, но также и к файлам, направляемым на принтер, ибо она может переключиться на ваш пользовательский код с тем, чтобы получить доступ к вашим файлам. Программа-нарушитель с легкостью отыщет в структуре ваших каталогов защищенные файлы и скопирует их в специальное место, доступное только для lp. Другими словами, ваше доверие lp как программе базируется на надежде, что она не злоупотребит выделенной ей властью.

Если при запуске SUID-программы привилегия nopromain отсутствует, промен создается и текущий каталог становится корнем промена. Файлы в поддереве, начинающемся с этого корня, находятся внутри промена, все прочие файлы являются по отношению к промену внешними. Промены защищают данные пользователя от программы-нарушителя, ограничивая способы доступа последней к содержимому промена. Выполняясь под кодом идентификации пользователя, инициировавшего ее запуск, SUID-программа может обращаться только к тем файлам, к которым имеют доступ как сам инициатор, так и владелец (т.е. к общим файлам). Внутри же промена все обращения программ подчиняются обычным правилам. Примеры использования променов см. в UNIX User's Reference.

 



<== предыдущая лекция | следующая лекция ==>
Распределение полномочий | Вход и выход


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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