在 Ubuntu 里,“挂载权限”通常分 挂载时的权限 和 挂载后目录的访问权限 两部分。下面按常见场景给你一个清晰说明。
sudo mount -o [选项] 设备 挂载点
常见选项:
| 选项 | 含义 |
|---|---|
rw |
可读写(默认) |
ro |
只读 |
uid=1000 |
指定所有者用户 ID |
gid=1000 |
指定所有者组 ID |
umask=022 |
设置权限掩码 |
dmask=022 |
目录权限掩码 |
fmask=133 |
文件权限掩码 |
exec |
允许执行程序 |
noexec |
禁止执行 |
user |
允许普通用户挂载 |
users |
所有用户可挂载/卸载 |
id 用户名
例如:
uid=1000(test)
gid=1000(test)
sudo mount -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/data
含义:
755644sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/data
sudo chown -R 用户:用户组 挂载点
示例:
sudo chown -R test:test /mnt/data
sudo chmod -R 755 /mnt/data
常用权限:
755:目录常用644:文件常用777:不推荐,风险大blkid
sudo nano /etc/fstab
示例(NTFS):
UUID=xxxx-xxxx /mnt/data ntfs-3g uid=1000,gid=1000,umask=022 0 0
示例(ext4):
UUID=xxxx /mnt/data ext4 defaults 0 2
sudo mount -a
⚠️ fstab 写错可能导致系统无法启动
| 文件系统 | 说明 |
|---|---|
| ext4 | 支持 Linux 权限,推荐 |
| NTFS | 需要 ntfs-3g,用 uid/gid |
| FAT/exFAT | 不支持 Linux 权限,只能用挂载参数 |
| NFS | 权限由 server 端控制 |
Permission denied
✅ 检查:
root 挂载但普通用户访问mount: /mnt/data: cannot mount in read-only mode
✅ 检查:
sudo mount -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/data
如果你愿意,可以告诉我:
我可以直接给你一条可用命令。