Linux

/dev/shm 和 /dev/mqueue 的權限

  • October 30, 2016

環境

發行版:CentOS7 核心:3.10.0-427.10.1.lve1.4.7.el7.x86_64.

設想

這是一個共享的託管環境,我只是注意到只有/dev/mqueue/dev/shm擁有1777權限(/tmp而且/var/tmp它們不在此處的重點)。

問題

  1. 這會對伺服器的安全構成威脅嗎?例如,系統使用者可能會佔用無用垃圾的目錄並填滿其磁碟配額;
  2. 鑑於整個/dev目錄都安裝在 上devtmpfs,這是否意味著一旦重新啟動,所有內容都將從目錄中刷新/刪除?
  3. 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 完成啟動時延遲初始冷插拔。它還應該為救援系統提供一種更簡單的方法來啟動具有動態主要/次要編號的核心。有意義的符號連結、權限和設備所有權仍必須由使用者空間處理。

引用自:https://unix.stackexchange.com/questions/319931