Setuid-Bit für root ist gesetzt, aber die echte Benutzer-ID ist nicht 0

341
Birk

Mein Programm permissiontestverfügt über die folgenden Berechtigungen:

-rwsrwxrwx 1 root root 8664 Nov 18 15:59 permissiontest 

Es besteht aus dem folgenden Code, wenn es als Benutzer ohne Rootberechtigung ausgeführt wird:

#include <stdio.h> #include <stdlib.h>  int main(int argc, char** argv) { printf("EUID: %d\n", geteuid()); printf("RUID: %d\n", getuid()); return (EXIT_SUCCESS); } 

Es gibt aus:

EUID: 1000 RUID: 1000 

Nach dem, was ich über das Setuid-Bit gelesen habe, dachte ich, dass die tatsächliche Benutzer-ID 0 sein sollte, wenn ich das Programm ausführte, da root der Eigentümer des Programms ist. Die tatsächliche Benutzer-ID scheint jedoch nicht 0 zu sein.

Kann mir jemand sagen, warum das so ist?

Das Programm befindet sich auf der lokalen Festplatte und fstab zeigt nichts an, daher sollten keine Probleme beim Mounten auftreten.

1
ist das Volume mit `nosuid` gemountet? MrTux vor 8 Jahren 0
und ist dies ein sudo-konfiguriertes System, in dem root nicht nur deaktiviert, sondern gesperrt ist, wie Ubuntu und seine Ableitungen? Frank Thomas vor 8 Jahren 0
Sie können den Kontakt-Kontakt verwenden, um eine Kontoverbindung anzufordern. Nicht registrierte Konten saugen so. Journeyman Geek vor 8 Jahren 0

0 Antworten auf die Frage