首頁  >  文章  >  系統教程  >  多租戶管理技巧在 Linux 檔案系統中的應用

多租戶管理技巧在 Linux 檔案系統中的應用

王林
王林轉載
2024-01-05 15:55:54676瀏覽

範例

同一群組microsoft下的兩個帳號justmine001和justmine002需要共同擁有目錄/microsoft/eshop的開發權,以便進行協同工作,但是其他人不允許進入和查閱該目錄。

從例題可以分析出:

  1. 同一群群組下的帳戶需要共同擁有目錄的使用權,並且可以編輯裡面的任何文件。
  2. 其他帳戶不擁有該目錄的任何權限。
  3. 需要使用root帳戶,建立帳戶、群組,設定目錄權限,然後建置開發環境。

建立帳戶相關資訊

#groupadd microsoft ; 新增群組
useradd -G microsoft justmine001; 新增帳戶,並加入群組microsoft
useradd -G microsoft justmine002; 新增帳戶,並加入群組microsoft

查閱帳號屬性

id ​​justmine001;
id justmine002;

Linux 文档多租户管理方法

#建置環境

建立開發目錄

mkdir -p /microsoft/eshop

#查詢

ll -d /microsoft/eshop

Linux 文档多租户管理方法

##設定傳統權限

#從上圖可以看到,開發目錄的擁有者和群組都是root,權限為rwxr-xr-x,所以justmine001和justmine002可以查閱(ls)和進入(cd)該目錄,但是都不能在目錄中建立文件。

Linux 文档多租户管理方法

Linux 文档多租户管理方法

##首先,設定目錄群組為microsoft,其次,其他人對該目錄沒有任何權限,所以應該設定權限為770。如果不理解,請閱讀上一篇詳解Linux文件屬性、擁有者、群組、權限、差異

chgrp microsoft /microsoft/eshop; 指派群組
chmod 770 /microsoft/eshop; 設定權限

先測試justmine帳號(其他人)的權限,如下:

Linux 文档多租户管理方法

#其他人無法存取ls和進入cd該目錄,已達到預期效果。

測試同群組下的justmine001和justmine002帳號,再次建立文件,如下:

Linux 文档多租户管理方法

Linux 文档多租户管理方法

##為了淋漓盡致的展現,我將文件創建權限從拒絕到許可的整個過程都截取下來了! ! !

上面可以看到,檔案test和test1的擁有者和群組分別為justmine001和justmine002,雖然使用者justmine001可以刪除justmine002所建立的檔案test1(目錄權限的控制範圍),但卻無法編輯它(文件權限的控制範圍)。那該腫麼辦呢,還是無法完成協作工作啊。第一種方法是我們將檔案test1權限設定為777,這樣檔案對任何人都可讀、可寫、可編輯,再加上目錄權限的控制,其他人存取不了檔案test1,沒毛病。第二種方法,變更它們所建立的檔案群組為microsoft,這樣也可以實作協作工作,看似這種方法才是切合現實的。不過,每次都要管理員去做這件事情,那豈不是太麻煩他老人家,多不好意思啊,嘿嘿。正所謂,車道山前必有路,使用Linux特殊權限SGID可以完美實現同一群組下的任何帳戶創建的文件都擁有相同的群組microsoft(詳情請閱讀:理解Linux文檔的預設安全機制、隱藏屬性、特殊權限)。

備註:Linux文件權限是一級一級的往下控制的,所以任何讀、寫、編輯文件的前提就是要擁有能夠進入文件所屬目錄的權限。

設定特殊權限

#為目錄/microsoft/eshop設定SGID權限

#chmod 2770 /microsoft/eshop

使用justmine002帳號建立文件,查詢文件權限:

Linux 文档多租户管理方法

#從上圖可以看到,justmine002所屬的檔案群組自動變更成microsoft,而umask預設為002,兩人同屬一個群組,自然就可以互相修改彼此的檔案了! ! !

總結

Linux系統管理員的主要任務其實就是如何管理好系統的檔案系統,那麼對於文件多租用戶管理,首先新建一個統一的群組,然後將目錄權限設定為2770,最後把需要協作工作的用戶加入這個群組,就是這麼簡單。往往,結果很簡短,但是思考分析過程就如同西天取經,希望把整個過程分享給大家,不僅要知其然,更要知其所以然,這樣才能舉一反三,融匯貫通,達到靈活運用的目的。

以上是多租戶管理技巧在 Linux 檔案系統中的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除