关于这个话题有很多讨论,但我试过每一个答案/建议,但仍然没有成功。直到几周前,我的 mount 命令才按预期工作,这几乎让我认为这是某种错误。
我有一台 Raspberry Pi,运行 64 位操作系统:
Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64
我已运行以下命令来安装所需的 exFAT 工具:
sudo apt-get install exfat-fuse exfat-utils
我已经使用以下命令初始化了挂载点:
sudo mkdir /mnt/fhpro
我希望的行为是驱动器能够被某个组的成员读取和写入。我知道在安装驱动器时我需要将驱动器的所有权设置为组,因为 exFAT 不允许特定于文件的权限。
我已运行以下命令来更改挂载点本身的所有权:
sudo chown myusername /mnt/fhpro
sudo chgrp groupname /mnt/fhpro
然后我使用以下命令安装驱动器:
sudo mount -t exfat /dev/sda1 /mnt/fhpro -o uid=1001,gid=1003,rw,fmask=0002,dmask=0002
其中1001
和1003
是所需用户和组的 ID。
该命令运行时没有错误,我可以查看驱动器的内容。但是,驱动器归用户pi
和组所有,而不是设置的用户和组。当我运行时ls -l /mnt/fhpro
,我看到以下输出:
total 8192
drwxr-xr-x 2 pi pi 131072 Jun 27 14:11 randomdir
此外,还ls /mnt -l
显示挂载点本身也已将所有权转移给用户pi
。
此外,我无法写入目录,touch /mnt/fhpro/test.txt
结果是:
touch: cannot touch '/mnt/fhpro/test.txt': Permission denied
我不知道这是怎么回事。我之前设置了类似的挂载命令/etc/fstab
,驱动器总是会按预期设置所有权并挂载。现在,情况不再如此。
有任何想法吗?
编辑:
手册页mount.exfat
这里说:
uid=n 设置所有文件和目录的所有者。默认为当前进程的所有者。
我正在从我想要拥有驱动器内容的帐户运行此命令(即不是用户pi
)。所以显然有些事情发生了。
答案1
我终于发现了问题所在。驱动器被自动安装到用户/media/pi/fhpro
下的pi
。
卸载驱动器允许我使用指定的选项重新安装到所需的位置,从而实现预期的行为。