我有这个创建文件的 c 代码。
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
fp=fopen("/home/sss/test3.file","w");
fprintf(fp, "hi hi hi\n" );
fclose(fp);
return 0;
}
当我在文件 fopen() 调用之前添加 setfsuid() 命令并执行程序时,我遇到了分段错误。
#include <stdio.h>
#incldde <unistd.h>
int main(int argc, char *argv[])
{
FILE *fp;
setfsuid(1002);
fp=fopen("/home/sss/test3.file","w");
fprintf(fp, "hi hi hi\n" );
fclose(fp);
return 0;
}
setfsuid() 命令需要 root 权限,我在带有服务器操作系统的 linux 系统上。什么可能导致这个问题?