LXF134:DrBrown2
|
|
|
Контейнерные технологии
- В Linux таких множество – разберемся с их типами.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
При каждом запуске программы в Linux она разделяет некоторые ресурсы с другими приложениями и виртуализирует (или изолирует) остальные. Какие ресурсы разделяются, а какие изолируются, зависит от используемой технологии. Вот небольшой обзор.
- Процессы Процессы – низший уровень контейнеризации, и вы даже, наверное, ворчите на меня за то, что я отнес их к этой категории. Но процесс – и в самом деле контейнер, в котором выполняется программа. Среди прочего он изолирует пространство памяти программы (у каждого процесса есть иллюзия, что все адресное пространство принадлежит ему) и наборы файловых дескрипторов программы (например, каждый процесс знает, куда подключен его стандартный поток вывода). Эта технология контейнеризации фундаментальна для Linux и Unix и существует с незапамятных времен.
- Chroot Идея здесь в том, чтобы ограничить программу определенной частью файлового дерева («тюрьмой» или «песочницей»). Механизм основан на системном вызове chroot (изменить корень), который изменяет представление процесса о том, где находится корневой каталог (/). Например, если процесс делает chroot в каталог /var/run/foobar и затем обращается к файлу /etc/fstab, на самом деле он будет обращаться к файлу /var/run/foobar/etc/fstab.
Для правильно написанной программы это мера безопасности – программа не сможет получить доступ ни к каким файлам вне «тюрьмы». Часто с применением этой технологии работают демоны – на ум приходит DNS-сервер Bind. Но данный механизм нельзя назвать сильным, да он никогда и не претендовал на это. Если демон выполняется под пользователем root, и у него есть уязвимость (к примеру, ошибка при переполнении буфера), существует несколько хорошо документированных способов вырваться из тюрьмы. Механизм chroot на самом деле предназначался для того, чтобы предоставить программе собственное видение файловой системы, а разработчикам – «песочницу» для тестирования новых программ, а не для того, чтобы сдерживать программы с уязвимостями.
При создании «тюрьмы» для программы нужен определенный подход. Нельзя просто бросить узника в камеру без еды и воды и ждать, что он выживет. В «тюрьме» должны быть файлы, необходимые для работы программы, файлы данных, файлы настройки; наверное, копии некоторых файлов из /etc и /dev, и т. д.