Der Benutzer kann den Prozess töten, weil der Prozess mit der gestartet wird, Effective UID
der root
aber die Real UID
von selbst. Andere Benutzer können diesen Prozess nicht beenden.
Sie können versuchen, das Bit SETUID und SETGID für Folgendes festzulegen id
:
# chmod u+s,g+s $(which id)
und vergleichen Sie dann die Ausgabe von:
id
und
sudo id
und du wirst den Unterschied sehen.
Sie können auch versuchen, einen Prozess zu beenden, der SETUID- und SETGID-Bits gesetzt hat und vom aktuellen Benutzer mit gestartet wird sudo -u SOMEOTHERUSER
. Sie werden sehen, dass es nicht getötet werden kann.
Ich denke, der Punkt der SETUID- und SETGID-Bits besteht nicht darin, Root den Prozess selbst zu erlauben, sondern lediglich, um die Rechte zu eskalieren, aber den Prozess dem ausführenden Benutzer zu überlassen. Und ich bezweifle, dass Sie es ändern können, egal ob Sie es mögen oder nicht (es sei denn, Sie hacken den Kernel oder so?).