over 4 years ago

簡單來說,可以將程式的權限在runtime提升成該程式的擁有者.

下面是一隻簡單的示範程式

get_euid.c
#include <stdio.h>
int main()
{
        printf("You're euid is %d\n",geteuid());
}

編譯
gcc -o get_euid get_euid.c
先看看目前的權限

get_euid的擁有者是guang,屬性是-rwxrwxr-x

現在將user換成root
su root
執行get_euid
./get_euid


結果是0,表示是以root身分執行

那現在切入正題,來設定euid
先切回guang
chmod 4775 get_euid


可以發現get_euid的權限已經變成-rwsrwxr-x

再換成root身分
執行get_euid
./get_euid


執行的身分變成了1000(guang的uid) 而不是原本的0(root的uid)

← MQTT Mosquitto 安裝筆記 C程式的記憶體使用方式 →
 
comments powered by Disqus