为什么 /usr/bin/x86_64-linux-gnu-as 的权限设置为 750?

为什么 /usr/bin/x86_64-linux-gnu-as 的权限设置为 750?

在 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 默认就是这样的。

相关内容