Unix
如何防止給定使用者組訪問全域文件?
抱歉,如果這是不正確的論壇。
我正在尋找以下問題的解決方案:
我們在我們的系統上保護了資訊,具有由 A 組中的使用者擁有的全域讀取/執行訪問權限 (555),允許 A、B、C 組等中的使用者訪問。該系統多年來一直有效地執行。
但是,我現在想向網路添加一個新組,即組 X,其中組 X 將無法根據文件權限讀取/執行。請問您能提出一個解決方案嗎?
我最初的想法是修改每個使用者的 cd 命令,但 \cd 會克服這個障礙,另外這不會影響 GUI 環境。
編輯:我一直在閱讀有關 ACL 的內容,並且過去曾接觸過它們。由於所有數據都在一個單獨的分區上,我可以為該分區啟動 ACL,例如
LABEL=/home /home ext3 rw,acl 1 2
然後修改最高級別的ACL權限。這會繞過原來的全域權限嗎?這是一個可行的選擇嗎?
謝謝。
在全球可讀的文件上設置黑名單並不是一種安全的方法。考慮一下如果偶然創建的使用者缺少該組會發生什麼?相反,最好附加地分配權限。您可以通過添加一個包含所有需要訪問權限的使用者的新組來執行此操作,或者使用facls為每個組分配權限。
添加“users1”組以對目錄具有讀/寫/執行權限:
setfacl -m g:users1:rwx <directory name>
要自動將這些相同的權限分配給該目錄中新創建的文件/目錄,請添加
-d
選項:setfacl -d -m g:users1:rwx <directory name>
用於
getfacl
檢查您的工作。我建議使用and通讀SETFACL(1)和GETFACL(1)。
man setfacl``man getfacl
此外,您需要以支持 ACL 的方式重新掛載根分區:
mount -o remount,acl /
並修改 /etc/fstab 以包含
acl
重啟選項,例如:/dev/xvda / ext3 noatime,errors=remount-ro,acl 0 1