我需要为根文件系统的某些部分更改一些挂载选项,例如/ tmp / var和/ home(添加nodev,nosuid和quota),但我无法创建单独的分区,而且我没有足够的RAM来mount / tmp as tmpfs.我已经尝试了mount -o bind,noexec,nodev,nosuid / tmp / tmp,但它似乎无法正常工作,因为之后我仍然可以执行来自/ tmp的文件并使设备点头.还有其他办法吗?
解决方法
您可以使用bind和noexec,nosuid选项重新挂载/ tmp,但不能一步完成.由于某些
Linux内核VFS层限制,您必须首先绑定它,然后使用适当的选项重新安装.
root@utemp:/# /tmp/test.sh uid=0(root) gid=0(root) groups=0(root) root@utemp:/# mount -o bind,noexec /tmp /tmp root@utemp:/# ./tmp/test.sh uid=0(root) gid=0(root) groups=0(root) root@utemp:/# umount /tmp root@utemp:/# mount -o bind /tmp /tmp root@utemp:/# mount -o remount,noexec /tmp root@utemp:/# ./tmp/test.sh bash: ./tmp/test.sh: Permission denied root@utemp:/# umount /tmp
这很不方便 – 在/ etc / fstab中不是一行,而是在系统启动期间每个目录必须调用一些带有两个mount命令的脚本.