我正在尝试在根目录中创建一个“test.txt”文件。目前我还不是 root 用户。我的代码如下:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(){
int fd;
fd=open("/test.txt",O_CREAT|O_RDWR|O_TRUNC,0777);
perror("error: ");
close(fd);
return 0;
}
但是,当我编译并执行它时,出现错误:
error: : Permission denied
如何让我的代码具有在根目录中创建文件的权限?
附注我正在尝试使这项工作可行,以便稍后可以使用它将此方法应用到我的 Linux 守护程序中。
最佳答案
fd=open("/test.txt",O_CREAT|O_RDWR|O_TRUNC,0777);
在这一行中正确指定路径。(即)它是当前工作目录意味着,在 /
之前保留(点).
,例如 ./test.txt
关于c - 权限被拒绝的 open() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701020/