iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 6
0

前言

接續第 3 篇的內容,我們要繼續探討 SGID 和 SBIT~

Set GID(SGID)

我們來探討一個實際情況:

user1 和 user2 使用者想要共用一個 Projects 目錄,並在底下建立檔案
因爲建立的檔案需要兩個人都能開啓,因此 user1, user2 必須屬於同一個群組 Tools,而 Projects 的群組擁有者也要改成 Tools,當 user1 在 Projects 底下建立一個新的檔案的時候,檔案所屬群組必須是 Tools,但是一般情況下檔案所屬群組會是檔案建立者亦即 user1,所以必須設定 GID 來解決。

chmod 2770 Projects

2 代表設定 GID,770代表檔案所有權限歸檔案擁有者以及相關群組。

這樣就算新增一個使用者 user3 並把它加到 Tools 群組,他在 Projects 建立的檔案都會是屬於 Tools,3 位使用者都能共同協作。

特性

  • 僅限二進位程式(binary program) 和 目錄
  • 如果使用者在該目錄底下建立檔案,則此檔案的群組與該目錄的群組相同。

Sticky Bit(SBIT)

伺服器有 user1, user2, user3 三位使用者。
如果 user1 開了一個門戶大開(chmod 777) 的目錄名叫 container , user2 和 user3 就可以把 container 搬走 (x,又或是把 container 刪掉,很不方便。

因此設定 SBIT 之後,user2 和 user3 只能在 container 目錄底下新增或刪除自己建立的檔案(俗話說個人造孽個人擔),如果 user 2 妄想刪除 user3 的檔案,權限將被禁止。

特性

  • 僅限目錄
  • 當使用者在該目錄下建立檔案或目錄時,僅有自己與 root 才有權限刪除該檔案

總結

根據剛剛三個權限所舉的檔案例子,轉換成四位的數字

檔案 權限 數字
/etc/passwd -rwsr-xr-xt 4755
Projects drwxrws--- 2770
container drwxrwxrwt 1777

上一篇
[Day 5] Linux 檔案、目錄屬性權限(3)
下一篇
[Day 7] Linux 使用者識別碼
系列文
30 天不間斷-資工隨筆大雜燴30

尚未有邦友留言

立即登入留言