我可以建立指向我無法存取的文件的符號連結嗎?

我可以建立指向我無法存取的文件的符號連結嗎?

[免責聲明:這個問題沒有惡意,我正在嘗試理解學校專案的 ln -s 命令]

假設我有一個包含我的主資料夾的檔案系統,/home/anna./home/bob是一個我無法存取的資料夾,其中有一個我無法存取的文件,foo.txt

我可以ln -s /home/bob/foo.txt在我的主資料夾中成功運行嗎?假設如果可以的話,它將產生一個我無法訪問的連結(具有與 相同的權限foo.txt)是否正確?

如果我確實具有 的讀取權限foo.txt,但無法訪問,該怎麼辦/home/bob

那麼相反的情況呢,我可以訪問/home/bob但不能讀取foo.txt

答案1

是的,您可以建立一個符號鏈接任何地點。

我可以ln -s /home/bob/foo.txt在我的主資料夾中成功運行嗎?假設如果可以的話,它將產生一個我無法訪問的連結(具有與 相同的權限foo.txt)是否正確?

正確的。目標檔案的存取限制適用。如果您建立指向受限資源的符號鏈接,您將無法存取它。甚至不需要目標檔案實際存在。

演示:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

如果我確實具有 的讀取權限foo.txt,但無法訪問,該怎麼辦/home/bob

如果您沒有父親目錄的權限,您無法存取包含的文件。因此,使用符號連結您仍然無法存取它。建立符號連結不會影響權限。

那麼相反的情況呢,我可以訪問/home/bob但不能讀取foo.txt

同樣,您可以創建指向它的符號鏈接,但不能訪問該文件。

相關內容