以前在看 apue 时看到设置用户id有点蒙圈 今天总结一下
设置用户id 是文件的一个属性 是st_mode中的一个标志位
如果这个位·被 设置为1 那么执行这个文件的时候 此进程的有效用户id就是文件所有者id
实验代码
#include <stdio.h>#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
int pid = -1;
pid = geteuid();
printf("%d\n",pid);
}
结果
#./mytest
500
#sudo chmod 04777 mytest
#./mytest
0