Linux
將 Linux 使用者限制為他擁有的文件
想像一個共享虛擬主機公司的伺服器設置,其中多個(約 100 個)客戶可以通過 shell 訪問單個伺服器。
許多網路“軟體”推薦chmod 文件 0777。我擔心我們的客戶不明智地遵循這些教程,向我們的其他客戶開放他們的文件。(我
cmod 0777
自己當然不會不必要地使用!)有沒有一種方法可以確保客戶只能訪問他們自己的文件並阻止他們訪問其他使用者的世界可讀文件?我查看了AppArmor,但它與一個程序緊密耦合,在那個環境中似乎失敗了。
在外部世界和受保護文件之間放置一個受限且不可變的目錄,例如
/ ├─ bin ├─ home │ └─ joe <===== restricted and immutable │ └─ joe <== regular home directory
或
/home/joe/restricted/public_html
。受限意味著只有使用者和可能的 Web 伺服器可以讀取它(例如模式
0700
/0750
或某些ACL)。不變性可以
chattr +i
通過將所有權更改為類似root:joe
.在 Ubuntu 上創建該層次結構的一種簡單方法是編輯
/etc/adduser.conf
並設置GROUPHOMES
為yes
.