Se você der a alguém uma conta de shell, eles poderão ver todos os arquivos legíveis pelo mundo. Isso inclui muitos arquivos em /etc
que são necessários para o sistema funcionar, incluindo /etc/passwd
(que contém nomes de usuário, mas não senhas).
Se você permitir que o usuário faça login dentro de um chroot, eles não poderão ver os arquivos fora do chroot. Isso significa que você deve colocar programas, bibliotecas, etc. suficientes dentro do chroot - tudo o que o usuário deve ter acesso e toda dependência deles também.
Observe que um chroot apenas protege o acesso direto a arquivos. O usuário pode espionar várias coisas, incluindo os nomes e argumentos dos processos em execução de todos os usuários (a menos que você configure proteções adicionais, como o SELinux). Se o usuário não precisar fazer muito, você pode configurar restrições mais restritas (incluindo impedir que o usuário crie seus próprios executáveis) com um shell restrito, mas configurar um shell restrito é muito complicado, então eu não faço isso. t recomendá-lo.
Hoje em dia, as máquinas virtuais são muito baratas. Você tem muitas implementações gratuitas para escolher (Modo do usuário Linux, VirtualBox, VMware, KVM, OpenVZ, VServer,…) e o espaço em disco usado por uma instalação extra do sistema é mínimo (e você pode precisar dele para o chroot mesmo assim). Uma máquina virtual isola praticamente tudo: arquivos, processos, redes ... A menos que você tenha restrições muito incomuns, esse é o caminho a ser seguido.