User Tools

Site Tools


ubuntu:setuid

This is an old revision of the document!


setUID

SetUid C source

setuidtest.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main(void)
{
    int current_uid = getuid();
    printf("My UID is: %d. My GID is: %dn\n", current_uid, getgid());
    system("/usr/bin/id");
    if (setuid(0))
    {
        perror("setuid");
        return 1;
    }
    //I am now root!
    printf("\nMy UID is: %d. My GID is: %dn\n", getuid(), getgid());
    system("/usr/bin/id");
    //Time to drop back to regular user privileges
    setuid(current_uid);
    printf("\nMy UID is: %d. My GID is: %dn\n", getuid(), getgid());
    system("/usr/bin/id");
    return 0;
}

Compile and chmod

gcc -o setuidtest setuidtest.c
chmod u+s setuidtest
ubuntu/setuid.1518954700.txt.gz · Last modified: 2018/02/18 05:51 by tschulz