Итак, я получил этот код ниже от here. Однако, когда я следую команды:Почему эффективный UID еще не 0?
sudo chown root:root a.out
sudo chmod u+s a.out
Он по-прежнему не будет работать с эффективным UID 0.
Это код:
#define _POSIX_C_SOURCE 200112L // Needed with glibc (e.g., linux).
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
void report (uid_t real) {
printf ("Real UID: %d Effective UID: %d\n", real, geteuid());
}
int main (void) {
uid_t real = getuid();
report(real);
seteuid(real);
report(real);
return 0;
}
Выход:
Real UID: 1000 Effective UID: 1000
Real UID: 1000 Effective UID: 1000
Где я предположил, что это должно было быть:
Real UID: 1000 Effective UID: 0
Real UID: 1000 Effective UID: 1000
Показать выходные данные программы. –
@ JonathonReinhart только что отредактировал его. Также показал, что я ожидаю! –
Не повторяется с Ubuntu EGLIBC 2.19-0ubuntu6.9 – deamentiaemundi