Ich habe diese C
Datei:das setuid Bit unter Linux verwenden
#include <stdio.h>
#include <unistd.h>
int main(void)
{
printf("%s\n", getlogin());
printf("%i\n", getuid());
}
ich kompilieren, die UID und GID beide auf root
und das Setuid-Bit gesetzt, so dass es wie folgt aussieht:
-rwsrwsr-x 1 root root 8735 Apr 8 19:51 a.out
Allerdings, wenn ich $ ./a.out
rufe ich immer noch:
user
1000
Was soll ich tun falsch?
Wie kann ich den Namen des EUID bekommen? – hgiesel
@hgiesel Versuchen 'man getpwuid' –
@hgiesel meine bearbeiten zu sehen. – dbush