Wenn ich als root ein Programm ausführen will, das mir nicht gehört, und für das nur der Besitzer Ausführrechte hat, dann wird das Programm trotzdem ausgeführt.
Gestoßen bin ich auf das Problem in einem Java-Forum hier http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=13&t=001542 , als ein User fragte, wieso er als root ein solches Programm nicht indirekt über Java ausführen kann.
./ls ist eine Kopie von /bin/ls um zu prüfen, ob das Phänomen auch mit Binaries auftritt (es tritt).
./tp ist ein bash-Script.
asux ->/home/stefan/proj/mini/forum # file ls ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \ for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped asux ->/home/stefan/proj/mini/forum # ls -la ?? -rwxr--r-- 1 stefan stefan 72588 Jul 13 16:09 ls -rwxr--r-- 1 stefan stefan 42 Jul 13 08:24 tp asux ->/home/stefan/proj/mini/forum # ./ls -la ?? -rwxr--r-- 1 stefan stefan 72588 Jul 13 16:09 ls -rwxr--r-- 1 stefan stefan 42 Jul 13 08:24 tp asux ->/home/stefan/proj/mini/forum # whoami root
Übersehe ich da etwas?
Ich habe in meinem Hinterkopf eine vage Assoziation zu 'cache' gefunden, und probiert, ob in einem frischen xterm das Phänomen auch auftritt - es tritt auch auf.
Auch frisch erzeugte Programme, die vorher nicht mit breiteren Rechten gestartet wurden, sind betroffen.