Permissions
預設情況下,世界可寫目錄是什麼?
在標準的 Linux 文件系統中,這些公共目錄中的哪些預設情況下是全域可寫的?
/tmp /etc /var /proc /bin /boot /.... ....
為什麼它們是世界可寫的?這會帶來安全風險嗎?
唯一的FHS 強制目錄通常是全域可寫的,
/tmp
並且/var/tmp
. 在這兩種情況下,這是因為它們旨在儲存任何人都可能製作的臨時文件。同樣常見的是
/dev/shm
,作為tmpfs(由 RAM 支持的文件系統),用於快速訪問程序之間共享的中型數據,或者只是創建保證在重啟時被銷毀的文件。也可能有
/var/mail
or/var/spool/mail
,有時還有其他假離線目錄。這些用於在處理之前暫時保存郵件。它們並不總是可寫的,具體取決於使用的工具。當它們存在時,這是因為使用者工具可以在那裡創建文件以供守護程序處理。所有這些目錄通常都設置了粘性位(
t
),這意味著只有文件或目錄的所有者才能移動或刪除其中的文件。以任何使用者身份執行的任何程序都可以在這些目錄中創建文件,就其特定數據的安全性而言,由創建程序來做正確的事情。除了有人可能填滿文件系統之外,沒有特別的一般安全問題,但程序有足夠的空間出錯。
已經朝著特定於服務的目錄邁出了一些步伐。
/tmp
這些避免了一些可能出現的潛在錯誤,因此程序在使用目錄的方式上沒有錯誤並不是那麼重要。您可以使用以下命令在系統上找到全域可寫目錄:
find / -maxdepth 3 -type d -perm -777