Por que "chroot" nunca é usado no Mac OS X?

9

Eu uso Macs há 25 anos e "UNIX" desde o OS X 10.0 ... mas nunca pensei muito sobre chroot, nem nunca precisei ou quis ...

É uma pergunta simples, mas ... em que circunstâncias alguém optaria por usar "chroot" em um Mac? É de fato uma função interna dos dias do BSD, mas nunca ouvi falar dela sendo usada ... A funcionalidade faz parte de outra ferramenta de linha de comando ou de nível de sistema que evita a necessidade de chroot? Se sim, qual é a função equivalente? Caso contrário, por que parece nunca ser usado, referenciado ou necessário?

mralexgray
fonte

Respostas:

14

Existem duas categorias principais de usos para chroot (o artigo da Wikipedia entra em mais detalhes):

  • Isole um aplicativo, fornecendo uma visão restrita do sistema de arquivos. Isso geralmente é feito para servidores FTP públicos, por exemplo, para garantir que eles não possam servir arquivos fora da área pública, mesmo que haja um erro no software do servidor. Esse caso de uso está se tornando cada vez menos comum por dois motivos. Primeiro, o chroot não fornece muito isolamento; uma vulnerabilidade no servidor pode permitir que o invasor cause danos de muitas outras maneiras, além de acessar arquivos. Segundo, as máquinas virtuais, que fornecem isolamento mais forte, tornaram-se muito mais baratas e geralmente são mais fáceis de configurar, por isso são a escolha natural.
  • Execute o software em um sistema operacional diferente, com o mesmo kernel, mas com bibliotecas diferentes. Por exemplo, como sugerido por David Cournapeau , se você estiver desenvolvendo software, possui muitas coisas extras instaladas e deseja garantir que seu software não dependa dessas coisas extras, você pode testá-lo em um chroot com apenas um instalação mínima. Ou (mas acho que isso não é muito comum nos sistemas OSX), você pode executar uma versão diferente do sistema operacional - por exemplo, eu tenho um sistema Linux de 64 bits com uma distribuição de 32 bits acessível com chroot, nos raros momentos em que eu precisa executar um aplicativo de 32 bits que não seja executado diretamente no sistema principal.

Ambos os tipos de casos de uso são bastante especializados. Chroot é inútil para a maioria das pessoas; está lá porque é útil para alguns e é muito barato de implementar.

Gilles 'SO- parar de ser mau'
fonte
6

Uso o chroot no mac os x para testar alguns softwares ou para testar o empacotamento de projetos nos quais estou envolvido (por exemplo, testar instalações no 10.4 enquanto uso o 10.6).

David Cournapeau
fonte
2
você pode dar um exemplo de como usá-lo?
Alexander Mills
2

Com que frequência as pessoas desejam abrir seus sistemas pessoais para que outras pessoas acessem? Na maioria das vezes, o chroot é voltado para servidores com muitos usuários diferentes. No entanto, se você realmente deseja configurar um servidor SFTP local para que os usuários acessem seu sistema pessoal, você deve definitivamente fazer chroot.

Talvez este post comece na direção certa:

http://hints.macworld.com/article.php?story=2004110314282345

Matt Beckman
fonte