带有FUSE的网络RAID FS,gcc -hello.c -o a.out,a.out不可执行

时间:2018-07-24 21:13:21

标签: c gcc permissions executable system-calls

我正在Ubuntu上用FUSE编写网络突袭FS。这是我已实现的系统调用:create open read write release unlink mkdir opendir {{ 1}} readdir releasedir rmdirgetattr

一切正常,但这种情况是这样的:我在c语言中写了“ hello world”,并尝试输入以下内容:renamegcc hello.c -o a.out很好,但是它只是一个文件,而不是可执行文件(当我手动设置0777权限时,它可以在a.out上很好地执行)。

何时必须设置权限,以及如何设置?并且在编译时,如何知道应该为哪些文件设置exe权限?基于什么?

1 个答案:

答案 0 :(得分:0)

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