Описание тега chroot

chroot - это команда в UNIX-подобных системах, которая запускает процесс в другом корневом каталоге.

chroot часто используется для:

  • Ограничить пользователя определенным каталогом (используется ssh, например)
  • Введите сломанную систему, чтобы ее можно было починить (например, использовать такие инструменты, как менеджеры пакетов, которые предназначены для работы в рабочей системе)
  • Для установки новой системы (например, Gentoo можно установить с chroot)

Какие chroot делает, чтобы изменить то, что процесс считает корневым каталогом, который изменяется, когда процесс ожидает что-то найти - например, когда процесс chrootв /home/foo/my-chroot, он может ссылаться на файл в /home/foo/my-chroot/bin/sh используя /bin/sh,

Это эффективно "обманывает" процесс, так что он способен работать в системе, в которой корневой каталог не совпадает с ожидаемым процессом.

Другое следствие заключается в том, что в теории (но см. Ниже) процесс не может видеть глубже, чем его chrootКаталог, потому что /.. решает в /,

Однако chroot не является и никогда не был разработан как инструмент безопасности, и для его выхода используются хорошо известные эксплойты. Вместо этого на *BSD следует использовать jails, а пользователи Linux должны рассмотреть либо linuxjail, либо VServer.