高級檔案權限以及如何正確讀取它們

高級檔案權限以及如何正確讀取它們
alisto@ubuntu:/projects/solarproj$ \ls -al
total 32
drwxrwsr-t 3 root   solarproj 4096 Dec 8 16:02 .
drwxr-xr-x 3 root   root      4096 Dec 8 15:29 ..
-rw-rw---- 1 boband boband    802  Dec 8 15:44 bearings.jpg
-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
-------rwx 1 alisto solarproj 19   Dec 8 14:08 power
-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt
-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

兩個用戶都屬於 Solarproj 群組

  1. Bob 可以更改文件中的內容schedule.txt嗎?為什麼?

    如果我正確地閱讀了這篇文章,答案是否定的,因為群組設定為僅讀取。

  2. Alice 可以刪除該檔案controller.c嗎?為什麼?

    該檔案提供了讀寫權限,但由於黏性位,她無法刪除它/不太確定她

  3. 哪些使用者可以讀取該檔案power?為什麼?

    不屬於群組或 Alisto 的所有其他用戶

  4. 為什麼Alice可以列出old目錄中的內容,而Bob卻不能?

    由於群組權限上的 S,x 不存在

  5. Alice 可以讀取該檔案temp.sym嗎?為什麼?

    不,因為她不被允許。

我不知道我的答案是否正確,如果有人可以糾正我的錯誤答案並為我提供一些幫助,我會很高興。我很想測試一下並親眼看看,但我的虛擬機無法正常工作,我需要為幾天後即將進行的測試進行學習,然後再試一次!

答案1

當使用命令顯示權限時ls,它遵循一定的結構。讓我們來看一個例子:

-rw-rw-r--

第一的字元表示文件類型,稱為檔案描述符,接下來的三個字符表示創建該檔案的使用者的權限,下一組三個字符指示使用者群組的權限,以及最後三個字符指示其他人的權限。

在這個例子中:

  • 第一的字符,稱為文件描述符,指示文件的類型。在本例中-rw-rw-r--,它是開頭的破折號。
  • 接下來的三個字符指示建立該文件的使用者的權限。在這種情況下-rw-rw-r--,是的rw-
  • 接下來的三個字符指示前面提到的使用者群組的權限。
  • 最後三個字符顯示其他人的權限。

第一個字元或檔案描述符,一個破折號 ( -),表示這只是一個普通檔案。另一方面,如果這是目錄的權限,則它將是單一權限d。文件描述符可能值的非完整列表:

  • d- 一個目錄
  • -- 一個「普通」文件
  • l- 符號連結
  • s- UNIX 套接字
  • p- 一條管道

其他三組三個字元遵循結構[read][write][exec],其中每個括號包含一個字元。

因此,在我們的範例中-rw-rw-r--

  • 建立該文件的使用者的權限是rw-.這樣用戶可以讀取和寫入文件,但不能執行它。
  • 使用者群組的權限也是rw-,這意味著該使用者群組也可以對其進行讀寫。
  • 其他人的權限是r--;這意味著其他人只能讀取該文件,而不能寫入或執行它。

那麼,對於你的問題:

Bob 可以更改檔案schedule.txt 中的內容嗎?為什麼?

如果我正確地閱讀了此內容,答案是否定的,因為群組設定為僅讀取

-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt

你是對的。boband是該群組的一部分solarproj,因此他的權限是r--,這意味著他只能讀取該文件,而不能更改它。

Alice可以刪除檔案controller.c嗎?為什麼?

該檔案提供了讀寫權限,但由於黏性位,她無法刪除它/不太確定她

-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c

是的她可以。她的權限是rw-因為她是 Solarproj 群組的一部分,所以可以更改文件,包括刪除它。

哪些使用者可以讀取電源檔案?為什麼?

不屬於群組或 Alisto 的所有其他用戶

-------rwx 1 alisto solarproj 19   Dec 8 14:08 power

再說一遍,正確。只有 1) 不在該solarproj群組中且 2) 不在該群組中的使用者alisto才能夠讀取、變更或執行該檔案。

為什麼Alice可以列出old目錄中的內容而Bob卻不能?

由於群組權限上的 S,x 不存在

drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old

沒有。表示S該文件執行檔setguid 位元已設定。

Alice 可以讀取檔案 temp.sym 嗎?為什麼?

不,因為她不被允許

-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

正確的。temp.sym點文件temp; whilealisto可以讀取temp.sym, 因為它指向temp, 其中alisto 不能讀完後,她將被拒絕許可。

相關內容