Почему «chroot» никогда не используется в Mac OS X?

9

Я использую Mac в течение 25 лет и "UNIX" со времен OS X 10.0 ... но я никогда особо не задумывался о chroot, и при этом я никогда не нуждался или не хотел ...

Это простой вопрос, но ... при каких обстоятельствах можно использовать «chroot» на Mac? Это действительно встроенная функция времен BSD, но я никогда не слышал об ее использовании ... Является ли функциональность частью другого инструмента командной строки или системного уровня, который устраняет необходимость в chroot? Если так, то какова эквивалентная функция? Если нет, то почему он, кажется, никогда не используется, не упоминается и не нужен?

mralexgray
источник

Ответы:

14

Существует две основные категории использования chroot ( статья в Википедии рассматривается более подробно):

  • Изолируйте приложение, предоставив ему ограниченный доступ к файловой системе. Это обычно делается для общедоступных FTP-серверов, например, чтобы убедиться, что они не смогут обслуживать файлы за пределами общедоступной области, даже если в серверном программном обеспечении есть ошибка. Этот вариант использования становится все менее распространенным по двум причинам. Во-первых, chroot не обеспечивает особой изоляции, уязвимость на сервере может позволить злоумышленнику нанести ущерб многими другими способами, кроме доступа к файлам. Во-вторых, виртуальные машины, которые обеспечивают более надежную изоляцию, стали намного дешевле, и их часто проще настроить, поэтому они являются естественным выбором.
  • Запустите программное обеспечение в другой операционной системе с тем же ядром, но с разными библиотеками. Например, по предложению Дэвида Курнапо , если вы разрабатываете программное обеспечение, у вас установлено много дополнительных компонентов и вы хотите убедиться, что ваше программное обеспечение не зависит от этих дополнительных компонентов, вы можете протестировать его в chroot только с минимальная установка. Или (но я не думаю, что это очень часто встречается в системах OSX), вы можете запустить другую версию ОС - например, у меня есть 64-битная система Linux с 32-битным дистрибутивом, доступным с помощью chroot, для тех редких случаев, когда я необходимо запустить 32-разрядное приложение, которое не будет работать непосредственно в основной системе.

Оба вида вариантов использования довольно специализированы. Chroot бесполезен для большинства людей; это там, потому что это полезно для некоторых, и это очень дешево для реализации.

Жиль "ТАК - прекрати быть злым"
источник
6

Я использую chroot на Mac OS X для тестирования некоторых программ или для тестирования пакетов проектов, с которыми я связан (например, для тестирования установок на 10.4, когда я использую 10.6).

Дэвид Курнапо
источник
2
Можете ли вы привести пример, как его использовать?
Александр Миллс
2

Как часто люди хотят открыть свои личные системы для доступа других? В большинстве случаев chroot ориентирован на серверы с большим количеством разных пользователей. Однако, если вы действительно хотите настроить локальный SFTP-сервер для доступа пользователей к вашей персональной системе, то вам определенно следует изменить его.

Может быть, этот пост отправит вас в правильном направлении:

http://hints.macworld.com/article.php?story=2004110314282345

Мэтт Бекман
источник