我正在运行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 /软件是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或我正在运行的内核中的安全function,因为我们古老的RHEL系统可以很好地执行这些符号链接。 我认为这可能是这个问题 ,但我的/ proc文件系统没有那个特定的旋钮。
我该如何做这项工作?
我认为这个post可能有你正在寻找的答案:
权限被拒绝,在启用粘滞位的情况下,nfs挂载的目录中的可执行文件符号链接被禁止