Linux
/dev/shm 和 /dev/mqueue 的權限
環境
發行版:
CentOS7
核心:3.10.0-427.10.1.lve1.4.7.el7.x86_64
.設想
這是一個共享的託管環境,我只是注意到只有
/dev/mqueue
和/dev/shm
擁有1777
權限(/tmp
而且/var/tmp
它們不在此處的重點)。問題
- 這會對伺服器的安全構成威脅嗎?例如,系統使用者可能會佔用無用垃圾的目錄並填滿其磁碟配額;
- 鑑於整個
/dev
目錄都安裝在 上devtmpfs
,這是否意味著一旦重新啟動,所有內容都將從目錄中刷新/刪除?tmpfs
和 和有什麼不一樣devtmpfs
?這是目前安裝的內容:
Filesystem Size Used Avail Use% Mounted on /dev/sdi1 148G 730M 140G 1% / devtmpfs 59G 0 59G 0% /dev tmpfs 59G 0 59G 0% /dev/shm tmpfs 59G 4.1G 55G 7% /run tmpfs 59G 0 59G 0% /sys/fs/cgroup /dev/sdh1 148G 14G 127G 10% /usr /dev/sda1 2.0G 269M 1.6G 15% /boot /dev/sdg1 148G 7.7G 133G 6% /var /dev/sdd1 148G 468M 140G 1% /tmp /dev/sdc1 493G 13G 455G 3% /ssd /dev/sde1 493G 37G 431G 8% /localbkp /dev/sdf1 8.0T 515G 7.1T 7% /home tmpfs 12G 0 12G 0% /run/user/0 tmpfs 12G 0 12G 0% /run/user/1242 tmpfs 12G 0 12G 0% /run/user/1507 tmpfs 12G 0 12G 0% /run/user/1812
謝謝你。
這會對伺服器的安全構成威脅嗎?例如,系統使用者可能會佔用無用垃圾的目錄並填滿其磁碟配額;
當然可以,但是無論如何它們已經可以通過
malloc()
ing 太多來填滿記憶體(是的,您可以使用ulimit()
,但這是每個程序的限制)。如果您想保護使用者免受彼此的記憶體使用,您必須將它們放在不同的容器中。鑑於整個
/dev
目錄都安裝在 上devtmpfs
,這是否意味著一旦重新啟動,所有內容都將從目錄中刷新/刪除?是的。
tmpfs
和 和有什麼不一樣devtmpfs
?從核心的
CONFIG_DEVTMPFS
文件中:這將創建一個 tmpfs 文件系統,並在啟動時將其掛載並在 /dev 中掛載。核心驅動程序核心為該文件系統中的所有註冊設備創建設備節點。所有設備節點都歸root所有,預設模式為0600。使用者空間可以根據需要添加和刪除節點。這是為了簡化啟動,並可以在使用者空間中的 udev 完成啟動時延遲初始冷插拔。它還應該為救援系統提供一種更簡單的方法來啟動具有動態主要/次要編號的核心。有意義的符號連結、權限和設備所有權仍必須由使用者空間處理。