Python Glossary English

все Python 3Linux · macOSosфункция

os.chroot

os — каталоги

Меняет корневой каталог процесса (требует привилегий). Доступно на Unix.

Синтаксис

os.chroot(...)

Требует прав суперпользователя и не является механизмом безопасности: процесс с правами root может выбраться из chroot, а текущий каталог при смене корня не меняется — его нужно сменить отдельно. Для изоляции приложений используют контейнеры и пространства имён. В учебных задачах chroot почти не встречается.

Примеры

import os
os.chroot('/srv/jail')  # → ? только Unix: корнем процесса становится /srv/jail, функция ничего не возвращает
os.chdir('/')  # → ? только Unix: обязательный шаг после chroot — иначе рабочий каталог остаётся вне «клетки»
print(os.listdir('/'))  # → ? только Unix: видно уже содержимое /srv/jail, например ['bin', 'etc', 'lib']
os.chroot('/srv/нет-такого')  # → FileNotFoundError: каталог нового корня должен существовать
os.chroot('/srv/jail')  # → PermissionError, если процесс запущен не от root

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности