在 Linux 里 mount 之后权限“不对”,通常不是 mount 本身坏了,而是文件系统类型、挂载选项、或底层权限机制导致的。下面按最常见原因给你梳理一下。
比如:
mount /dev/sdb1 /mnt/usb
如果你挂的是:
vfatexfatntfs(没指定权限选项)这些文件系统 没有 Linux 的 uid/gid/permission 概念,mount 后会:
✅ 解决:
mount -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/usb
exec / dev / suid有些安全挂载会默认:
mount -o nosuid,nodev,noexec
结果:
✅ 检查:
mount | grep /mnt
mount 是 root 行为,但:
✅ 解决:
chown -R user:user /mnt/data
或者挂载时指定:
mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/data
即使 ls -l 权限是对的,也会:
✅ 查看:
getenforce
ls -Z /mnt
✅ 修复上下文:
restorecon -Rv /mnt
NFS 常见坑:
root_squash结果:
✅ 服务端:
/no_root_squash
✅ 客户端:
mount -o nfsvers=4,uid=1000
很多人忽略:
drwx------ root root /mnt/data
你 mount 上去,权限还是被“外层目录”卡住。
✅ 修复:
chmod 755 /mnt/data
bind mountmount --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 挂载点我可以一眼告诉你到底是哪一层权限在捣乱。