我正在运行 Arch Linux:
[nathanb@nathanb-box ~] uname -a
Linux nathanb-box 3.9.9-1-ARCH #1 SMP PREEMPT Wed Jul 3 22:45:16 CEST 2013 x86_64 GNU/Linux
我有一个符号链接(实际上是指向符号链接的符号链接):
[nathanb@nathanb-box ~/bin] readlink spt
/usr/software/test/bin/spt.current
[nathanb@nathanb-box ~/bin] readlink `readlink spt`
spt.1.11
这些应该是有效的:
[nathanb@nathanb-box /usr/software/test/bin] l spt*
lrwxrwxrwx 1 bob engr 11 Sep 25 2011 spt -> spt.current
-rwxr-xr-x 1 bob engr 208K Feb 14 2012 spt.1.11
-rwxr-xr-x 1 bob engr 193K May 29 09:45 spt.2.19
lrwxrwxrwx 1 bob engr 8 Mar 8 2012 spt.current -> spt.1.11
lrwxrwxrwx 1 bob engr 8 Jun 6 10:01 spt.last -> spt.2.19
请注意,/usr/software 是 nfs 挂载的,而不是本地的。
现在,观察问题:
[nathanb@nathanb-box ~/bin] ./spt
bash: ./spt: Permission denied
[nathanb@nathanb-box /usr/software/test/bin] ./spt.current
bash: ./spt.current: Permission denied
[nathanb@nathanb-box /usr/software/test/bin] ./spt.1.11
spt.1.11> quit
[nathanb@nathanb-box /usr/software/test/bin]
虽然我可以执行二进制文件本身,但我无法执行指向该二进制文件的任何符号链接。
这似乎是 Arch Linux 或我正在运行的内核中的一个安全功能,因为我们古老的 RHEL 系统可以很好地执行这些符号链接。我以为它可能像这个问题,但是我的 /proc 文件系统没有那个特定的旋钮可以转动。
我该如何让它工作?
答案1
我认为这篇文章可能有你正在寻找的答案: