在Linux中,将/boot等关键分区设为只读可有效防御勒索病毒篡改;需在/etc/fstab第四字段配置ro,noexec,nosuid,nodev,noatime,并验证占用、避免根分区只读、正确处理非Linux文件系统。

在Linux中,把 /boot、/usr 或其他含关键启动/配置文件的分区设为只读(ro),是防御勒索病毒横向加密或篡改系统核心组件的有效手段——病毒即使获取 root 权限,也无法向这些分区写入恶意模块、替换内核镜像或修改 GRUB 配置。
只读挂载的核心fstab配置项
修改 /etc/fstab 时,关键在第四字段(mount options)加入安全组合:
- ro:强制只读,所有 write、mkdir、rm 操作均被内核拒绝
- noexec:禁止执行该分区上的任何二进制、脚本,阻断恶意 payload 运行
- nosuid:忽略 setuid/setgid 位,切断提权链路(如被篡改的 sudo 二进制)
- nodev:不解析设备节点,防止伪造 /dev/xxx 进行内核攻击
- noatime:跳过访问时间更新,提升性能,也避免因只读介质日志写失败导致挂载异常
典型安全只读条目示例
以 /boot 分区为例(推荐优先保护):
UUID=4eff9bdb-7e0b-4d25-8931-dc776537bc73 /boot ext4 ro,noexec,nosuid,nodev,noatime 0 2
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
注意要点:
- 第五字段设为 0:禁用 dump 备份(只读分区无需备份)
- 第六字段保留 2:仍允许 fsck 启动时检查,但不阻塞开机
- 务必删掉原配置中的 rw、defaults、exec 等默认开启写/执行的选项
修改前必须验证的三件事
避免改完 fstab 导致系统无法启动或挂载失败:
- 确认目标分区未被占用:运行 sudo lsof +D /boot 或 fuser -m /boot 查看是否有进程正在使用
- 不要对根分区 / 直接设 ro:系统启动过程需写 /etc、/var/log、/run 等,会导致卡死
- NTFS/FAT 类分区需额外加 uid=1000,gid=1000,否则普通用户可能连读都失败
生效与验证步骤
改完 /etc/fstab 后,切勿直接重启:
- 立即应用:运行 sudo mount -o remount /boot
- 检查是否生效:执行 findmnt -t ext4 /boot | grep -o "ro,.*",应输出完整安全选项串
- 实测写入:运行 sudo touch /boot/testfile,必须报错 Read-only file system

















