Моя программа permissiontest
имеет следующие привилегии:
-rwsrwxrwx 1 root root 8664 Nov 18 15:59 permissiontest
Он состоит из следующего кода при запуске от имени пользователя без полномочий root:
#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);
}
Это выводит:
EUID: 1000
RUID: 1000
Из того, что я прочитал о бите setuid, я думал, что реальный идентификатор пользователя должен быть равен 0, когда я запускаю программу, потому что root является владельцем программы. Однако реальный идентификатор пользователя не равен 0.
Кто-нибудь может сказать мне, почему это так?
Программа находится на локальном жестком диске, и fstab ничего не указывает, поэтому проблем с монтированием не должно быть.