linux中的setuid与seteuid

int setuid(uid_t uid)
1.若euid==0,则将ruid,euid,suid都设为新的uid。
2.若euid!=0, 允许uid等于ruid或suid,只将euid设为新的uid。

int seteuid(uid_t uid)

只改变进程的euid,不改变ruid和suid
1.若euid==0,新的uid可以为任意值,都可以成功。
2.若euid!=0,新的uid只允许为rui、euid、suid中的任一个。
===============================================
int setreuid(uid_t ruid, uid_t euid)

===============================================

int setresuid(uid_t ruid,uid_t euid,uid_t suid)

1.若euid==0,则可以执行成功。

2.若euid!=0,需要新的三个uid参数值,每一个等于原来三个老的uid中的一个,才能执行成功。


你可能感兴趣的:(linux中的setuid与seteuid)