2013-03-13 55 views
-3

說我有一個文件夾「root」。我擁有這個文件夾,並且我爲其他人(其中包括用戶「user2」,權限爲r-x)用於寫入的Unix目錄權限

在根目錄中,我有另一個文件夾「bin」。我將「bin」的所有者更改爲用戶「user2」,併爲他授予rwx權限。

  1. 將用戶2能夠在文件夾中的「bin」,在創建新文件?沒有爲「根」寫作影響他這樣做的能力?
  2. 另外,user2是否可以從「root」中刪除整個文件夾「bin」? (我不希望他能夠這樣做 - 他只需要在文件夾箱內創建/刪除文件!)
+5

這應該很容易嘗試自己...創建一個測試目錄,看看會發生什麼。 – jahroy 2013-03-13 02:24:38

回答

5
  1. 是的。由於user2root擁有訪問權限(x)的權限,並且擁有bin,因此他可以在root/bin中創建文件。如果權限當前不包括對所有者的寫入權限,則所有者(user2)可以更改目錄權限,以便權限確實包含寫入權限。

  2. 號因爲user2沒有寫權限在rootuser2不能從root刪除bin

2

他可以在箱內寫入,但不能在箱外寫入。他的rwx權限的範圍駐留在該文件夾中,除非您另行修改其權限。

1

理解你說什麼,你有這樣的事情:

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」用戶擁有的。

+0

+1。感謝您對示例的詳細解釋! :) – 2013-05-02 07:36:39