linux – make / home / tmp noexec nodev没有单独的patition

前端之家收集整理的这篇文章主要介绍了linux – make / home / tmp noexec nodev没有单独的patition前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要为根文件系统的某些部分更改一些挂载选项,例如/ 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命令的脚本.

有关此LWN文章的更多信息.在较旧的内核中它不起作用 – 绑定挂载点始终与底层文件系统具有相同的挂载选项.

猜你在找的Linux相关文章