O usuário pode matar o processo porque o processo é iniciado com Effective UID
de root
, mas Real UID
de si mesmo. Outros usuários não conseguirão matar esse processo.
Você pode tentar definir o bit SETUID e SETGID para id
:
# chmod u+s,g+s $(which id)
e, em seguida, compare a saída de:
id
e
sudo id
e você verá a diferença.
Além disso, você pode tentar matar um processo, que tem bits SETUID e SETGID definidos e é iniciado pelo usuário atual, com sudo -u SOMEOTHERUSER
. Você verá que não pode ser morto.
Eu acho que o ponto dos bits SETUID e SETGID é não deixar a raiz possuir o processo, mas apenas escalar o privilégio, mas deixar o processo pertencente ao usuário em execução. E eu duvido que você possa mudar isso, não importa o que você goste ou não (exceto por hackear o kernel ou algo assim?).