温馨提示×

linux mount为何权限错

小樊
45
2026-09-20 15:49:20
栏目: 智能运维

在 Linux 里 mount 之后权限“不对”,通常不是 mount 本身坏了,而是文件系统类型、挂载选项、或底层权限机制导致的。下面按最常见原因给你梳理一下。


一、最常见原因汇总

1️⃣ 文件系统本身不带权限(FAT / exFAT / NTFS)

比如:

mount /dev/sdb1 /mnt/usb

如果你挂的是:

  • vfat
  • exfat
  • ntfs(没指定权限选项)

这些文件系统 没有 Linux 的 uid/gid/permission 概念,mount 后会:

  • 所有文件都是同一个用户
  • 权限看起来“怪怪的”

✅ 解决:

mount -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/usb

2️⃣ 挂载选项没加 exec / dev / suid

有些安全挂载会默认:

mount -o nosuid,nodev,noexec

结果:

  • 脚本不能执行
  • 设备文件不可用
  • 看起来“权限不对”

✅ 检查:

mount | grep /mnt

3️⃣ root 挂载,普通用户看不到

mount 是 root 行为,但:

  • 目录属主还是 root
  • 普通用户没权限进

✅ 解决:

chown -R user:user /mnt/data

或者挂载时指定:

mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/data

4️⃣ SELinux / AppArmor 限制(CentOS / RHEL 常见)

即使 ls -l 权限是对的,也会:

  • 访问被拒绝
  • 服务起不来

✅ 查看:

getenforce
ls -Z /mnt

✅ 修复上下文:

restorecon -Rv /mnt

5️⃣ NFS 挂载权限错

NFS 常见坑:

  • 服务端 root_squash
  • UID 不一致

结果:

  • root 变成 nobody
  • 文件不可写

✅ 服务端:

/no_root_squash

✅ 客户端:

mount -o nfsvers=4,uid=1000

6️⃣ 挂载目录本身权限错

很多人忽略:

drwx------ root root /mnt/data

你 mount 上去,权限还是被“外层目录”卡住。

✅ 修复:

chmod 755 /mnt/data

7️⃣ 使用了 bind mount

mount --bind /home/user /srv/www

如果原目录权限变了,bind 后也会“看起来不对”。


二、快速排查套路(建议你照做)

# 1. 看实际挂载参数
mount | grep 挂载点

# 2. 看目录权限
ls -ld /mnt/xxx

# 3. 看文件系统
df -T /mnt/xxx

# 4. 看 SELinux
getenforce

三、如果你愿意,我可以更精准

你可以直接贴:

  • mount 命令
  • mount | grep 挂载点
  • ls -ld 挂载点
  • 文件系统类型(ext4 / ntfs / nfs)

我可以一眼告诉你到底是哪一层权限在捣乱

0