温馨提示×

挂载权限如何修改

小樊
51
2026-07-18 04:26:29
栏目: 编程语言

“挂载权限”具体要看挂载的是什么(本地磁盘、NFS、SMB、Docker、K8s 等),下面把最常见场景都列出来,你可以对号入座。


一、Linux 本地磁盘 / 分区挂载权限

1️⃣ 临时修改(重启失效)

sudo chmod 755 /mnt/data
sudo chown user:user /mnt/data

2️⃣ 通过 mount 参数修改(推荐)

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

常用参数:

  • uid / gid:指定用户/组
  • umask:权限掩码(022 → 755)
  • fmask / dmask:分别控制文件/目录

3️⃣ 永久修改(fstab)

sudo vim /etc/fstab

示例:

/dev/sdb1  /mnt/data  ext4  defaults,uid=1000,gid=1000  0  2

或:

UUID=xxxx  /mnt/data  ext4  defaults,noatime  0  2

修改后:

sudo mount -a

二、NFS 挂载权限

客户端挂载

sudo mount -t nfs -o rw,no_root_squash 192.168.1.10:/data /mnt/nfs

常见权限问题:

  • root_squash → root 被映射为 nobody
  • 服务端 /etc/exports 需匹配

服务端示例:

/data  *(rw,sync,no_root_squash)

三、Samba(SMB)挂载权限

sudo mount -t cifs -o username=user,password=pass,uid=1000,gid=1000,file_mode=0644,dir_mode=0755 //server/share /mnt/smb

四、Docker 挂载权限

1️⃣ volume 权限

docker run -v /host:/app:rw ...

2️⃣ 容器内用户

docker run -u 1000:1000 ...

3️⃣ 修改宿主机目录权限

sudo chown -R 1000:1000 /host

五、Kubernetes(PV / PVC)

修改挂载权限(fsGroup)

securityContext:
  fsGroup: 1000
  runAsUser: 1000

六、常见错误排查

问题 原因
Permission denied 用户不在挂载目录属主
只读 挂载时用了 ro
root 没权限 NFS root_squash
重启失效 没写 /etc/fstab

七、快速判断你该用哪种

你可以直接告诉我:

  • ✅ 是 Linux 本地磁盘 / U盘 / 移动硬盘
  • ✅ 是 NFS / SMB
  • ✅ 是 Docker / K8s
  • ✅ 报错信息是什么

我可以给你精确到命令级别的修改方案。

0