Я прочитал этот урок - https://help.ubuntu.com/community/BasicChroot - и я понял, что chroot - это процесс изменения /
в то время как созданная новая ограниченная среда - это «тюрьма». Но некоторые люди говорят, что я ошибаюсь, что chroot и jails - это две совершенно разные вещи.
Может ли кто-нибудь объяснить мне разницу простым языком?
Термин «тюрьма» пришел из мира FreeBSD и относится к более строгому способу ограничения доступа пользователей к системе, хотя chroot существует во FreeBSD как отдельный механизм. Это что-то вроде (отсортировано по степени разделения):
Chroot <виртуализация на уровне ОС: (FreeBSD's Jail ≤ Linux OpenVZ) <Паравиртуализация: XEN
Короткий ответ: «Вы оба правы» -
А chroot
Эд среду часто называют "chroot jail". По сути, это ограничивает представление набора процессов, поэтому они думают, что указанный каталог является корнем файловой системы.
Это не следует путать с FreeBSD jail
функциональность, которая является chroot на стероидах (с множеством дополнительных функций, обеспечивающих большую изоляцию, чем простая chroot
бы).
Для ясности лучше обратиться к chroot
ed как «chroot-окружение» (или используйте полную фразу «chroot jail»), чтобы различать их - особенно когда речь идет о системе FreeBSD.
Я бы сказал, что «тюрьма» - это общий термин, а «chroot» - нет. chroot - это лишь одна из нескольких возможностей ограничить доступ процесса. Однако я никогда не слышал о «тюрьме» в другом контексте. Вы можете использовать AppArmor, SELinux и т.п. для достижения аналогичных результатов, но термин «AppArmor jail» кажется необычным. С другой стороны, безопасность - не единственная причина использования chroot. Хотя эффект может быть таким же, вряд ли имеет смысл говорить о "chroot jail" в определенных ситуациях, когда целью является не безопасность, а особая конфигурация для определенного процесса.
"chroot" говорит: "Начните здесь корень файловой системы" и имеет приложения за пределами "тюрьмы", например доступ / восстановление сломанной ОС с LiveCD; это также «способ сделать тюрьму в Linux».