O bit setuid para root está definido, mas o ID do usuário real não é 0

1

Meu programa permissiontest tem os seguintes privilégios:

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

Ele consiste no seguinte código ao ser executado como usuário não raiz:

#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);
}

Produz:

EUID: 1000
RUID: 1000

Pelo que li sobre o setuid-bit, achei que o ID do usuário real deveria ser 0 quando eu executo o programa, porque root é o dono do programa. No entanto, o ID do usuário real não parece ser 0.

Alguém pode me dizer por que esse é o caso?

O programa está no disco rígido local e o fstab não indica nada, portanto, nenhum problema de montagem deve estar envolvido.

    
por Birk 18.11.2015 / 18:08

0 respostas