![为什么 /usr/bin/x86_64-linux-gnu-as 的权限设置为 750?](https://linux22.com/image/1065965/%E4%B8%BA%E4%BB%80%E4%B9%88%20%2Fusr%2Fbin%2Fx86_64-linux-gnu-as%20%E7%9A%84%E6%9D%83%E9%99%90%E8%AE%BE%E7%BD%AE%E4%B8%BA%20750%EF%BC%9F.png)
在 Ubuntu 16.04 中使用以下命令编译一个简单的程序gcc-5.4.0
:
$ cat tmp.c
#include <stdio.h>
int main()
{
printf("Hello World");
}
尝试以非特权用户身份进行编译时会产生以下错误:
$ gcc tmp.c
gcc: error trying to exec 'as': execvp: Permission denied
如果我查看汇编程序的权限,as
:
$ ls -lt /usr/bin/as
lrwxrwxrwx 1 root root 19 Aug 30 09:39 /usr/bin/as -> x86_64-linux-gnu-as
$ ls -lt /usr/bin/x86_64-linux-gnu-as
-rwxr-x--- 1 root root 369480 Aug 30 09:39 /usr/bin/x86_64-linux-gnu-as
这很奇怪。我可以用 root 身份编译此程序,而不会出现错误。
问题:
为什么汇编程序有 750 个权限?它怎么会变成这种状态。我无法想象 Ubuntu 默认就是这样的。