ich habe eine Frage zum setuid bit.
Damit kann ich ja erreichen dass das Programm mit den Rechten des Besitzers des Files ausgeführt wird.
Ich habe nun folgendes getestet.
Wenn ich beispielsweise
Code: Alles auswählen
chmod +s cat
Aber wenn ich beispielsweise ein shell script mache und diesem das setuid bit gebe, so werden die Befehle darin trotzdem mit dem User der das Script aufruft gemacht.
Ich habe zum testen auch ein c *programm* geschrieben, auch hier werden die system befehle nicht mit root rechten (root besitzt das file) ausgeführt sondern mit den rechten des Users..
Warum?
Wie kann ich es machen, dass Beispielsweise dieses C-Progrämmchen mit jedem User funktionieren würde? Also ich meine, dass die befehle mit root rechten ausgeführt werden.....
C-Progrämmchen:
Code: Alles auswählen
#include <stdio.h>
int main()
{
printf("Dieses Programm kopiert das shadow file...\n\n");
system("/bin/cp /etc/shadow ./.dump");
system("/bin/chmod 700 ./.dump");
printf("\nFile wurde kopiert in ./dump\n");
return 0;
}
Also, kann mir jemand sagen, wie ich ein Shell Script oder ein C Programm oder ähnliches dazu bringen kann mit root rechten zu laufen, auch die Befehle im Shell Script???