
История виртуализации от chroot и jails до современных гипервизоров
Firemoon 46 минут назад История виртуализации от chroot и jails до современных гипервизоров Простой 11 мин 1.9K Блог компании Selectel IT-инфраструктура * Серверное администрирование * Виртуализация * Системное...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: Firemoon 46 минут назад История виртуализации от chroot и jails до современных гипервизоров Простой 11 мин 1. 9K Блог компании Selectel IT-инфраструктура * Серверное администрирование * Виртуализация * Системное администрирование * Обзор Виртуализация — неотъемлемая часть IT-инфраструктуры. Она лежит в основе всех облачных систем, обеспечивает изоляцию ресурсов и гибкость управления.
Такие возможности, конечно, появились не сразу. Технология прошла долгий путь: начавшись с одного системного вызова в 1980-х, она переросла в большие инженерные решения. В этой статье я расскажу про развитие гипервизоров: от появления системного вызова chroot(2) до возникновения идеи о виртуализации в браузере.
Технические детали
Содержание→ Системный вызов chroot(2) → Виртуальные окружения → Полная виртуализация → Виртуальные окружения наносят ответный удар → Микро виртуальные машины → ЗаключениеСистемный вызов chroot(2)История начинается на рубеже 1970-х и 1980-х годов, когда в операционной системе Unix v7 появился chroot(2). Этот системный вызов решал всего одну задачу: «переносил» корень файловой системы в указанный каталог для запущенного процесса. Генеалогическое древо UNIX.
В Unix-подобных операционных системах нет явного перечисления дисков. Основой служит единый корень (/). От него уже и «произрастает» иерархическая система каталогов, в которую монтируются любые физические накопители.
Таким образом, фрагмент файловой системы может выглядеть, как на примере ниже:/ ├── bin ├── home │ ├── user │ ├── admin │ ├── superadmin │ ├── uberadmin │ │ └── secret │ └── hecker │ └── notsosecret ├── root ├── tmp │ ├── 212002 │ ├── 391485 │ ├── 393171 │ └── 400012 ├── usr └── varСистемный вызов chroot(2) позволяет для текущей программы и всех ее дочерних процессов назначить корнем другой каталог. Например, если выполнить chroot("/home/hecker то для программы файловая система примет вид:/ └── notsosecretИными словами, все элементы файловой системы, которые оказались по иерархии выше нового корня, становится недоступными. У такого подхода есть как минимум два применения.
Отраслевые последствия
«Переход в ОС на диске» — системные администраторы применяют этот метод для возвращения работоспособности операционной системе с помощью образа для восстановления (rescue image). В таком сценарии запускается утилита chroot(1), которая обращается к системному вызову chroot(2), после чего открывает интерактивную оболочку. Изоляция программ в целях безопасности.
Например, FTP-сервер vsftp позволяет ограничивать пользователей их домашним каталогом, чтобы те не скачали ничего лишнего, даже если права доступа выставлены верно. :)Руководство по системной утилите chroot порой оказывается в разных секциях документации — в зависимости от дистрибутива и времени его выпуска. На онлайн‑ресурсе man7.
org она расположена в разделе 1 — пользовательских утилит. В man-страницах Debian мы ее еще встречаем в традиционном разделе 8 — инструментов системного администрирования.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





