我有一個共享目錄部門,它有 3 個子目錄部門明智的帳戶、銷售、售前,每個子目錄都有部門員工目錄,如 acc1、acc2、acc3 / sale1、sales2 / ps1、ps2、ps3、ps4
每個員工如何擁有使用者名稱密碼僅存取該目錄而不查看任何其他目錄。
跟我在windows伺服器上做的一樣。
我該怎麼辦呢?
答案1
首先,讓每位員工屬於部門群組,即 acc1 屬於 Account,ps3 屬於 Presales。然後,在部門級別,讓部門下的每個子目錄的群組ID 等於相應的部門群組,具有群組級別的讀取+執行存取權限並撤銷其他人的所有存取權限,因此當您執行以下操作時,它看起來像這樣ls -la Departments
:
drwxr-x--- 5 root Account 4096 Jul 25 08:43 Account
drwxr-x--- 6 root Presales 4096 Jul 25 08:44 Presales
drwxr-x--- 4 root Sales 4096 Jul 25 08:44 Sales
然後,讓每個員工目錄用戶 ID 和群組 ID 成為用戶,讓用戶擁有對該目錄的完全存取權限,並撤銷群組和其他人的所有存取權限,例如帳戶:
drwx------ 2 acc1 acc1 4096 Jul 25 08:43 acc1
drwx------ 2 acc2 acc2 4096 Jul 25 08:43 acc2
drwx------ 2 acc3 acc3 4096 Jul 25 08:43 acc3
chown
,如果您在命令列上執行此操作,chgrp
並且是您的朋友。chmod
參見例如http://www.perlfect.com/articles/chmod.shtml有關其用法的詳細資訊。
只要權限/成員資格可以分層且統一地定義,即不需要在某個級別上混合不同種類和/或級別的權限(例如,某些單獨的用戶具有讀寫訪問權限,但用戶只屬於對於只有只讀存取權限的群組) - 對於這些情況需要ACL。
答案2
或者,您可以為這些目錄設定 FACLS。如果您需要更複雜的存取控制列表,這將是最乾淨、最好和首選的方法。
使用手冊頁用於:
男人得到事實
手動設定
用法會是這樣的:
setfacl -md:g:"組名":rwx /path/to/desired/directory
setfacl -mg:"組名":rwx /path/to/desired/directory
第一行設定會自動套用於目錄中新建立的檔案/資料夾的規則。第二個適用於套用這些目錄的相同上層目錄,但這可以存取該目錄,因為它已經存在。
***注意:群組名稱周圍的引號表示您應該在命令中填寫群組的名稱。執行指令時不要使用實際的引號,您希望其中的群組名稱不帶引號。