mount -o remount,ro可在线紧急锁定已挂载分区为只读,阻断dos攻击中的恶意写入;需满足已挂载、路径正确、root权限及文件系统健康,典型目标包括/var/log、/tmp、/data等,执行后写操作立即报“read-only file system”错误。

Linux中mount -o ro不只是“挂载成只读”这么简单——它在特定场景下能发挥关键防护作用,但用错地方反而会失效或引发运维风险。核心在于:它保护的是整个挂载点,不是单个文件;生效前提是设备已挂载且文件系统健康;它可被remount,rw覆盖,所以不适合防root误操作。
紧急响应:DoS攻击时在线锁定数据分区
当检测到日志刷爆、临时文件泛滥或恶意上传等写入型DoS攻击,mount -o remount,ro是最快响应手段。它无需卸载,立即阻断所有写操作,让攻击者无法再填充磁盘或篡改文件。
- 典型目标:/var/log(防日志伪造)、/tmp(防inode耗尽)、/data(业务数据目录)
- 执行命令:
sudo mount -o remount,ro /data - 验证方式:
mount | grep " /data "输出应含ro且无errors= - 注意:若数据库或日志服务正高频写入,强制只读后可能报错退出,需提前评估服务容忍度
安全加固:配合noexec/nosuid的只读挂载
单纯ro只能防写,不能防执行或提权。生产环境中常组合使用,尤其用于挂载用户上传目录、备份卷或固件分区。
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
- 常见组合:
ro,noexec,nosuid,nodev - 示例:
sudo mount -o ro,noexec,nosuid,nodev /dev/sdc1 /var/www/uploads -
noexec阻止脚本和二进制文件直接运行(如./malware.sh),但不阻止python script.py这类解释器显式调用 -
nodev防止在挂载点内创建设备节点,避免绕过权限控制
只读介质与误挂载纠正
CD/DVD、ISO镜像等物理只读介质默认以ro挂载,此时mount -o remount,ro是冗余操作。真正需要它的场景,是纠正人为误挂载。
- 比如U盘被误挂为读写:
sudo mount /dev/sdb1 /mnt/usb - 发现风险后立即加固:
sudo mount -o remount,ro /mnt/usb - 对光盘类设备,推荐显式加
noexec,nodiratime提升安全与性能 - 注意:
remount,ro对只读介质无效,也不提供“虚拟可写”能力——那得靠overlayfs或tmpfs叠加层
持久化配置:fstab中启用开机只读
要让只读策略长期生效,必须写入/etc/fstab。仅靠命令行挂载会在重启后失效。
- 格式示例:
UUID=abcd-1234 /mnt/secured ext4 defaults,ro,noexec,nosuid 0 2 - 修改后务必测试:
sudo mount -a检查语法,再sudo mount -o remount /mnt/secured验证是否真为只读 - 不要只写
ro——缺少noexec可能让攻击者上传并执行脚本;缺少nosuid则无法阻断setuid提权路径 - 根分区
/也可设ro,但需确保/var/run、/tmp等依赖可写目录已单独挂载或用tmpfs替代










