Net raid FS with FUSE, gcc -hello.c -o a.out, a.out 不可执行

Net raid FS with FUSE, gcc -hello.c -o a.out, a.out is not executable

我正在 ubuntu 上用 FUSE 编写 net raid FS。这是我实现的系统调用:create open read write release unlink mkdir opendir readdir releasedir rmdir getattrrename.

一切正常,但这是这样的情况:我在 c 中写了 "hello world" 并尝试输入:gcc hello.c -o a.outa.out 很好,但它只是一个文件,不可执行(当我手动设置 0777 权限时,它在 ./a.out 上执行良好)。

何时必须设置权限,如何设置?而在编译的时候,如何知道哪些文件应该设置exe权限呢?基于什么?

我缺少 chmod 系统调用实现。 chmod 让它正常工作。感谢@Barmar 的帮助!