說我有一個文件夾「root」。我擁有這個文件夾,並且我爲其他人(其中包括用戶「user2」,權限爲r-x)用於寫入的Unix目錄權限
在根目錄中,我有另一個文件夾「bin」。我將「bin」的所有者更改爲用戶「user2」,併爲他授予rwx權限。
- 將用戶2能夠在文件夾中的「bin」,在創建新文件?沒有爲「根」寫作影響他這樣做的能力?
- 另外,user2是否可以從「root」中刪除整個文件夾「bin」? (我不希望他能夠這樣做 - 他只需要在文件夾箱內創建/刪除文件!)
說我有一個文件夾「root」。我擁有這個文件夾,並且我爲其他人(其中包括用戶「user2」,權限爲r-x)用於寫入的Unix目錄權限
在根目錄中,我有另一個文件夾「bin」。我將「bin」的所有者更改爲用戶「user2」,併爲他授予rwx權限。
是的。由於user2
對root
擁有訪問權限(x
)的權限,並且擁有bin
,因此他可以在root/bin
中創建文件。如果權限當前不包括對所有者的寫入權限,則所有者(user2
)可以更改目錄權限,以便權限確實包含寫入權限。
號因爲user2
沒有寫權限在root
,user2
不能從root
刪除bin
。
他可以在箱內寫入,但不能在箱外寫入。他的rwx權限的範圍駐留在該文件夾中,除非您另行修改其權限。
理解你說什麼,你有這樣的事情:
drwxr-xr-x 10 root root 22 Dec 26 23:04 root
其中的「根」的內容是這樣的:
cd root
ls -la
drwxr-xr-x 10 root root 22 Dec 26 23:04 .
drwxr-xr-x 29 root root 34 Oct 24 06:13 ..
drwx------ 2 user2 root 3 Oct 23 10:28 bin
權限的「根」有至少應該是555(r-xr-xr-x),因爲如果你的「root」目錄權限是500或550(見下面),它將不起作用,因爲不允許「user2」進入目錄「root」是例外,就像550會起作用「user2」是「根」組的成員)。
# This would not work, user2 cannot enter the "root" directory
drwx------ 10 root root 22 Dec 26 23:04 root
要明白這一切的安全的東西,你首先必須認識到,一個目錄是真的,並且簡單地說,一個文件。目錄和文件之間的主要區別在於「x」權限的含義。如果用戶沒有「讀取」權限,他就看不到目錄中的文件。所以,讓我們把進入711,就像這樣:
drwx--x--x 10 root root 22 Dec 26 23:04 root
現在讓我們來試試,看看在目錄哪些文件。您不能:
$ ls -la root
root: Permission denied
total 3
但是,您可以輸入(因爲「X」執行權),但你仍然無法看到裏面:
$ cd root
$ ls -la
.: Permission denied
total 3
但是,如果你知道這裏面存在你要訪問的目錄,你可以輸入:
$ cd bin # Ps. Here we assume we did the 'cd root' above already
$ ls -la
total 6
drwxr-xr-x 2 user2 root 2 Mar 14 14:57 .
drwx--x--x 3 root root 3 Mar 14 14:57 ..
和「用戶2」可以做的,作爲所有者,任何他想要的。訪問「bin」甚至可以是「700」,只要您是所有者,您就可以輸入它。由於訪問權限是755(在我們的示例中),任何人都可以進入目錄「bin」,但只有「user2」可以在其中創建文件。修改或讀取這些可能的文件將取決於「user2」所提供的訪問權限。
即使用戶擁有它,「user2」也不能刪除「bin」目錄,因爲他不擁有寫入「bin」目錄名稱的「文件」(即「root」目錄)。這是由唯一被允許在那裏寫入的「root」用戶擁有的。
+1。感謝您對示例的詳細解釋! :) – 2013-05-02 07:36:39
這應該很容易嘗試自己...創建一個測試目錄,看看會發生什麼。 – jahroy 2013-03-13 02:24:38