我写了一个简单的脚本来自动创建一个符号链接。给予“权限被拒绝”的符号链接...到根
#!/pseudo
today = "/tmp/" + date("Y-m-d")
exec("ln -sf " + today + " /tmp/today")
够简单;获取今天的日期并创建符号链接。理想情况下,在-f
午夜后运行,因此它只是在原地进行更新。
这工作得很好! ...为我的用户。
xkeeper /tmp$ ls -ltr
drwxrwxrwx xkeeper xkeeper 2014-10-21
lrwxrwxrwx xkeeper xkeeper today -> /tmp/2014-10-21/
xkeeper /tmp$ cd today
xkeeper /tmp/today$ cd ..
请注意,它工作正常,所有的权限是世界上可读的,一切看起来不错。
但如果其他人想要使用此链接(我们会说,根,但其他任何用户都有这个问题),一些非常奇怪的事情发生:
root /tmp# cd today
bash: cd: today: Permission denied
我在一个完全丧失为为什么这是。我也尝试创建链接ln -s -n -f
(不是说“--no-dereferencing
”很好解释),但同样的问题出现。
请注意,如果我使用root创建链接本身(所有其他用户都可以访问它),它的工作方式会非常好,但这并不能解释为什么它在* other *用户创建时不起作用。 – Xkeeper 2014-10-21 21:08:19
什么意思'#!/ pseudo'? – hek2mgl 2014-10-21 21:13:57
好吧,很奇怪。我尝试在'/ var/www /'中的某个临时文件夹中以相同的方式创建一个链接,并且它按预期工作,没有许可错误。世界上是什么? – Xkeeper 2014-10-21 21:31:29