chroot
Este artigo não cita fontes confiáveis. (Novembro de 2020) |
O comando chroot do sistema operacional Unix é uma operação que muda o diretório root do processo corrente e de seus processos filhos. Um programa que é re-rooted para um outro diretório não pode acessar arquivos fora daquele diretório, e o diretório é chamado de "prisão chroot"
O comando Chroot permite transformar um diretório no seu diretório raiz atual, num console. Uso:
# chroot <diretório> [comando]
Se [comando] é omitido, um shell será aberto.
Este comando só poderá ser executado por super-usuários (root ou usuários com UID = 0).
Erros comuns
editar- /dev/null: Permissão negada
Dev null permission denied - Knoppix Documentation Wiki
- chroot: /bin/bash: Arquivo ou diretório não encontrado
Este erro ocorre pois o arquivo /bin/bash não foi encontrado dentro do diretório transformado em root. Caso use outros shells, use chroot <diretório> sh, chroot <diretório> ash, chroot <diretório> dash, chroot <diretório> bsh, substituindo sh/ash/bsh/dash pelo shell que você usa.
Plataformas
editarVocê apenas pode usar chroot em plataformas compatíveis com seu processador (isso não se aplica em computadores remotos).
Um exemplo: você possui um processador com arquitetura x86_64 (AMD64 ou 64bits em geral). Você pode fazer chroot em platafromas x86, x86_64, x64, AMD64, mas não poderá fazer chroot em plataformas ppc, ppc64, arm, caso contrário você receberá uma mensagem de erro tentando executar o /bin/sh, por exemplo.