20.04 - chmod 在 exfat 挂载上不起作用

20.04 - chmod 在 exfat 挂载上不起作用

我有 2 个内置硬盘,格式为 exFAT - fstab 如下

#INT-1TB-4K Internal HDD mount to /mnt/INT-1TB-4K
UUID=0E7E-6579 /mnt/INT-1TB-4K exfat defaults, permissions 0 0

#INT-1TB-BAK Internal HDD mount to /mnt/INT-1TB-BAK
UUID=3037-96B0 /mnt/INT-1TB-BAK exfat defaults, permissions 0 0

运行 Ubuntu Server 20.04,其内核支持 exFAT,但不存在 exfat-utils / fuse 包。

/mnt ls-all 给出

exharris@plexserv:/mnt$ ls -all
total 520
drwxr-xr-x  4 root root   4096 Jul  2 09:32 .
drwxr-xr-x 20 root root   4096 Jul  2 05:15 ..
drwxr-xr-x  9 root root 262144 Jul  3 03:49 INT-1TB-4K
drwxr-xr-x  7 root root 262144 Jul  3 03:49 INT-1TB-BAK

当我尝试在这些文件夹中创建文件时,终端中出现权限被拒绝错误(当然,除非我使用“sudo”)。这是因为“其他”写入位设置为 -。

从 /mnt运行时sudo chmod -R 777 INT-1TB-4K,没有出现任何错误,但再次执行 ls -all 时,没有任何变化。

这也给我带来了问题,因为我已将它们设置为 Samba 共享,并且无法从其他机器写入它们。

我也尝试过sudo chmod -R o+w INT-1TB-4K——发生了同样的事情。

答案1

当你这样做时会发生什么:

** 卸载分区:

sudo umount /mnt/INT-1TB-4K

** 将您的挂载表达式更改为:

UUID=0E7E-6579 /mnt/INT-1TB-4K exfat defaults,umask=000 0 0

** 让 systemd 高兴:

sudo systemctl daemon-reload

用这个重新安装:

sudo mount -a

ExFAT 应该默认安装 777,所以我猜你使用的“权限”选项破坏了时空连续体。

Hind-site 是 20/20,但是如果您要使用非 Linux 原生文件系统,NTFS 会是更好的选择。

答案2

您需要做的就是使用umask=0000选项(相当于chmod 777)安装驱动器。由于 exFAT 没有像 ext4 或 NTFS 那样的权限,因此掩码权限适用于整个磁盘。如果您需要进行区分,请使用fmask文件和目录。dmask

sudo mount /dev/sdd1 /mnt/external -o umask=0000

相关内容