我寫了一個簡單的腳本來自動創建一個符號鏈接。給予「權限被拒絕」的符號鏈接...到根
#!/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