Parece que /sbin/magisk.bin
o lançamento de usuário não-raiz não gera o shell raiz sozinho. Em vez disso, ele comunica sua solicitação para magiskd
, que é executado como raiz. E magiskd
, após verificar as permissões, executa o comando solicitado. (Curiosamente, magiskd
é o mesmo binário - /sbin/magisk.bin
, mas executado por init
como root).
Você pode verificar isso da seguinte maneira:
$ echo $$
27699
$ su
# echo $PPID
2606
# exit
$ su
# echo $PPID
2606
# ps -A|egrep '^[^ ]+ +2606'
root 2606 1 16044 2068 __skb_recv_datagram eb4d2fe0 S magiskd
Observe que na saída acima, depois de exit
o shell de superusuário e redigitá-lo, o PID pai ainda permanece o mesmo (2606 nesta sessão), mas não é igual ao PID do shell original não raiz (27699 nesta sessão). Além disso, o PID pai de magiskd
é 1, ou seja, init
, que é mais uma confirmação de que não é o que começamos no nosso shell não-raiz.