我有 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