我编写了一个 .C 程序并将此文件提交给 UNIX 中的某人。但是,除了创建文件时的权限之外,我没有更改该文件的权限。
我只是想知道我是否彻底搞砸了,他们将无法使用 gcc 来编译程序,然后运行 a.out。权限列出为:
-rw-------
答案1
运行 GCC 的用户只需要能够读取该文件,例如,-rw-------
如果用户是所有者就可以,否则r
可能需要 3(为了简单起见)。
而如果用户需要将编译后的程序存放在同一个目录下(最常见的情况),他还需要对该目录有写权限。
答案2
就像vinc17所说,你只需要读取权限来编译你的.c文件。
chmod 0444 <filename>
检查其他人的权限:https://en.wikipedia.org/wiki/File_system_permissions#Symbolic_notation
如果你想执行.o文件,你应该需要执行权限
chmod 0111 <filename>
编辑:我对 777 不好。