Portanto, chroot
precisa ser feito depois de dias de ... "pesquisa", ele não oferece suporte adequado à listagem de um índice, a menos que você execute algum comando longo e maluco e o programa precise estar em execução para ser listado. Se você não consegue fazer algo com competência, então não faça.
Então, talvez com um nível de compreensão de 2 em 10 no terminal Linux, confirmei que minha distro tem chroot
e rpm
. Infelizmente, depois de descobrir como filtrar pacotes instalados ( rpm -qa '*chroot*'
), verifica-se que chroot
não está instalado como um pacote. Eu segui esse caminho por causa de uma pergunta bem feita, embora provavelmente uma configuração diferente do Linux que alguém perguntou aqui: https://www.tek-tips.com/viewthread.cfm?qid=1511346
Não sei se é um comando nativo ou outra coisa. Compreendo e aprecio totalmente o bloqueio do acesso a vários processos, mas um sistema seguro que não funciona é inútil.
Como faço para remover com segurança chroot
do Linux sem causar danos ao sistema de arquivos?
As informações em sua pergunta anterior incluíam uma referência a
/usr/share/cagefs-skeleton
.Isso sugere que o problema com o qual você está tendo problemas pode não ser apenas um chroot normal, mas um chroot
cagefs
, que é um recurso do CloudLinux e aparentemente está vinculado a vários painéis de controle de hospedagem, como cPanel, Plesk e outros.Parece que você não deseja tanto remover o
chroot
comando (que faz parte docoreutils
pacote, a propósito), mas sim remover a configuração do chroot que está restringindo seus scripts web PHP. Nesse caso, parece-me que, nesse caso, o CloudLinux pode ser uma escolha errada de distribuição para o tipo de aplicativo que você está tentando fazer.A "maneira da nuvem" de atualizar seu sistema operacional seria:
O CloudLinux parece ser adaptado especificamente para esse tipo de paradigma operacional. Não sei exatamente como você deseja trabalhar com seu aplicativo, mas pelas suas perguntas, parece-me que o "jeito da nuvem" não é realmente esse.
Eliminar
cagefs
o CloudLinux provavelmente funcionaria mais do que reimplantar seu aplicativo em uma distribuição diferente que seja mais adequada à maneira como você deseja operar.Acho altamente improvável que o coreutils não esteja instalado no seu sistema. E você realmente não quer remover coreutils de nenhum sistema GNU/Linux.
O
rpm -qa
comando lista os pacotes, não o seu conteúdo. Nem todo arquivo possui seu próprio pacote e a maioria dos pacotes contém muitos arquivos.A existência de um binário tem pouco a ver com processos no sistema. O
ps
comando não cria um índice e é quase certo que você nunca verá o chroot em execução e ele não iniciará sozinho.Remover serviços não utilizados é uma boa ideia, mas remover coisas que você não entende, serviços ou binários, não é uma boa ideia.
Não faz sentido remover o chroot, isso não tornará seu sistema mais seguro.
A resposta correta raramente é a resposta popular, embora talvez isso possa ter um efeito positivo para aqueles capazes de "consegui-la" e que não são vulneráveis a depender completamente da técnica preguiçosa de prova social, observando a pontuação da resposta. O problema
chroot
é que ele não foi desenvolvido adequadamente . Qualquer funcionalidade deve ter suporte para cinco funções principais:O
chroot
comando suporta apenas a funcionalidade de criação - não suporta mais nada! Aparentemente, isso remonta ao final da década de 1990?! Então, literalmente, milhares de outros desenvolvedores poderiam ter corrigido essa função nas últimas duas décadas e mudado - e não o fizeram . Não - não conheço nenhuma função semelhante, destruir meia semana do meu tempo é extremamente irresponsável para quem decidiu que era uma ideia boa ou desejável usar esta função que ainda não está pela metade!Eu compreendo perfeitamente a noção de por que ele foi criado, mas o problema é a falta da funcionalidade de edição, se pelo menos ela tivesse sido construída e deveria ter estendido a
chroot
prisão para incluir arquivos no sistema de arquivos normal - não cópias! Como desenvolvedor, é minha responsabilidade acompanhar quando as coisas precisam ser atualizadas . Se algo que estou referenciando é uma cópia, então os dados que estou referenciando estão errados! A funcionalidade estendida adequadamente também incluiria permissões: leitura, gravação e execução e eu só preciso ler esses arquivos. Quantos desenvolvedores poderiam produzir essa funcionalidade em alguns dias, se é que isso?!Então, quando eu puder pagar um desenvolvedor Linux adequadamente, farei com que eles criem uma função real e adequada que seja facilmente muito superior. Uma boa ideia só é efetivamente boa se a execução também for boa!
Quebrando o Chroot Jail (sem precisar removê-lo completamente)
root
usuário Linux usando PuTTY/SSH.find / -name '*chroot*'
para encontrar instâncias no sistema de arquivos.cagefs
.shell_exec('whoami')
) e os removi.shell_exec()
comandos relevantes agora estavam funcionando.Infelizmente não conheço a sintaxe do problema, então, para alguém que não tem uma configuração semelhante, peço desculpas, pois está claro que a maioria das pessoas lutará contra você. Em geral, a
chroot
prisão é uma boa ideia, embora seja executada da pior maneira possível e, ao mesmo tempo, seja aceita cegamente. Se você não está rastreando algo importante, como versões de software por meio de variáveis de servidor para manter o software atualizado, então não, provavelmente não há razão para quebrar achroot
prisão, mas você não pode ser livre a menos que também seja responsável.