Estou tentando manipular um arquivo squashfs, contendo uma compilação do yocto e uma carga útil do aplicativo, mas sempre que faço isso, sudo
não consigo executar posteriormente. o usuário root está desabilitado, então não tenho alternativa real.
Minha abordagem é apenas descompactar o sistema de arquivos e reembalar os arquivos descompactados. Nesse processo, o proprietário é definido como meu usuário local (o que é bom - posso consertar isso) e, ao que parece, setuid é removido do sudo.
Responder1
Supondo que você esteja usando unsquashfs
para descompactar os arquivos, você obterá um conjunto de arquivos de sua propriedade e sem bits setuid. Mas você pode colocar de volta manualmente o bit setuid em qualquer arquivo que desejar (com chmod u+s
); é claro que eles serão configurados para o seu id. Mas quando você reempacota os arquivos usando mksquashfs
a opção add -all-root
e todos os arquivos no sistema de arquivos serão de propriedade do root, não de você, e qualquer bit setuid será preservado.