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

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

mount 命令看挂载点是否只读

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

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

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

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

容易踩的坑:RO=0 不代表一定能写——比如文件系统损坏后,内核可能自动 remount 为 ro,此时 lsblk 仍显示 0,但 mount 输出已变成 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

cat /proc/mountsfindmnt 的适用差异

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

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

真实环境里,挂载权限常被忽略,因为文件权限正常、用户有写权、磁盘空间充足——但只要挂载成 ro,一切写操作都会失败。重点不是看谁有权限,而是看“这块磁盘此刻是不是被系统锁死了写入口”。
本文转载于:https://www.php.cn/faq/3026354.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。