商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux怎么查看具体的磁盘挂载读写权限

Linux怎么查看具体的磁盘挂载读写权限

  发布于2026-08-21 阅读(0)

扫一扫,手机访问

最直接方式是运行mount命令并检查输出中是否含ro;有ro即只读,含rw且无ro即读写,需注意空格精准匹配挂载点以避免误判。

Linux怎么查看具体的磁盘挂载读写权限

mount 命令看挂载点是否只读

最直接的方式是运行 mount,它会列出所有已挂载文件系统及其选项。关键看输出里有没有 ro(read-only)——有就是只读,没出现 ro 且含 rw 就是可读写。

常见错误现象:明明 ls -l 显示目录有 w 权限,但 touch test.txt 却报 Read-only file system。这时问题不在文件权限,而在挂载选项。

  • mount | grep "/dev/sda1" —— 精准过滤某块设备的挂载状态
  • mount | grep " /mnt/data " —— 注意空格,匹配挂载路径(前后加空格避免误匹配子串)
  • 输出中若含 (rw,relatime)(rw,seclabel),说明是读写挂载;若为 (ro,errors=remount-ro),则确认只读

lsblk -o NAME,MOUNTPOINT,FSTYPE,RO 快速扫全盘

lsblk-o RO 列相较于 mount 更为直观:若值为 1,则表明该块设备(或其分区)被标记为只读;若值为 0,则表示可写。需注意的是,这里的 RO 是内核层面的只读标志,它可能源于硬件开关、BIOS设置,亦或是在挂载时强制指定。

容易踩的坑:RO=0 不代表一定能写——比如文件系统损坏后,内核可能自动 remount 为 ro,此时 lsblk 仍显示 0,但 mount 输出已变成 ro。所以必须交叉验证。

  • lsblk -o NAME,MOUNTPOINT,FSTYPE,RO,SIZE —— 一次性看清设备、挂载点、类型、只读状态和容量
  • 对 NVMe 设备,NAME 可能是 nvme0n1p2,别漏掉末尾的 pX 分区号
  • 如果 MOUNTPOINT 为空,说明该分区未挂载,RO 列无实际意义

为什么 df -hT 不能直接判断读写权限

df -hT能展示文件系统类型(像ext4xfs等)以及使用率,可它**不会显示挂载选项**。同一块磁盘,既可以通过mount -o ro /dev/sdb1 /mnt进行只读挂载,也能够使用mount -o rw /dev/sdb1 /mnt来实现读写挂载——然而,df的输出却是完全相同的。

典型误判场景:运维同学看到 df 显示 /dev/sdb1 挂在 /data 下,就默认可写,结果应用写入失败。根源是忽略了挂载时加了 -o rodefaults,ro

  • df -hT /data 只告诉你挂在哪、什么类型、剩多少空间,不告诉你“能不能写”
  • 想确认读写能力,必须回到 mountfindmntfindmnt /data 更精准,直接查某路径)
  • 某些容器环境(如 Docker volume bind mount),宿主机 df 看到的是底层存储,但容器内挂载可能是 ro,需进容器再跑 mount

cat /proc/mountsfindmnt 的适用差异

/proc/mounts 是内核实时挂载表的原始 dump,字段多但不易读;findmnt 是封装好的工具,支持按路径、设备、类型过滤,更贴近日常排查习惯。

性能与兼容性影响:findmnt 在较新系统(util-linux ≥ 2.20)默认可用;老系统(如 CentOS 6)可能没有,得靠 grep + /proc/mounts

  • findmnt -t ext4 —— 查所有 ext4 类型挂载点
  • findmnt -D /dev/sdc1 —— 查该设备挂在哪(-D 匹配源设备)
  • grep " /mnt/backup " /proc/mounts | awk '{print $4}' —— 提取挂载选项字段,人工检查是否含 ro
真实环境里,挂载权限常被忽略,因为文件权限正常、用户有写权、磁盘空间充足——但只要挂载成 ro,一切写操作都会失败。重点不是看谁有权限,而是看“这块磁盘此刻是不是被系统锁死了写入口”。
本文转载于:https://www.php.cn/faq/3026354.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注