Установлен бит setuid для root, но реальный идентификатор пользователя не равен 0

249
Birk

Моя программа 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 ничего не указывает, поэтому проблем с монтированием не должно быть.

1
том установлен с `nosuid`? MrTux 8 лет назад 0
и это сконфигурированная sudo система, где root не только отключен, но и заблокирован, как Ubuntu и его производные? Frank Thomas 8 лет назад 0
Вы можете использовать ссылку «связаться с нами» для запроса слияния. Незарегистрированные учетные записи сосут, как это. Journeyman Geek 8 лет назад 0

0 ответов на вопрос

Похожие вопросы