我已经在我的 Raspberry Pi 上安装了 Transmission,并启用了 Raspbian。想要将种子下载(当然是合法的)到外部硬盘驱动器。许可被拒绝。 root 是驱动器的所有者和组
我尝试按照此处和其他论坛的许多不同说明更改驱动器上的权限,但无法成功。发现一些信息表明无法更改带有 exFAT 的磁盘上的权限。
我可以采取什么解决方法?
我的主要用户是“pi”,我认为这就是 Transmission 使用的用户。
编辑:将内容添加到 fstab
proc /proc proc defaults 0 0
PARTUUID=50913804-01 /boot/firmware vfat defaults 0 2
PARTUUID=50913804-02 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
UUID=67E3-17ED /mnt/67E3-17ED auto defaults,nofail 0 0
UUID=652F-FA93 /mnt/652F-FA93 auto defaults,nofail 0 0
编辑2:lsblk --fs
$ lsblk --fs
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 vfat FAT32 EFI 67E3-17ED 196,9M 0% /mnt/67E3-17ED
└─sda2 exfat 1.0 8TB 652F-FA93 5,8T 20% /mnt/652F-FA93
mmcblk0
├─mmcblk0p1 vfat FAT32 bootfs D3E6-3F09 436,8M 14% /boot/firmware
└─mmcblk0p2 ext4 1.0 rootfs cb6f0e18-5add-4177-ab98-e9f0235e06b3 42,7G 58% /
编辑3:更改fstab
pi@raspberrypi:~ $ lsblk --fs
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
|-sda1
| vfat FAT32 EFI 67E3-17ED 196,9M 0% /mnt/67E3-17ED
`-sda2
exfat 1.0 8TB 652F-FA93 5,8T 20% /mnt/652F-FA93
mmcblk0
|-mmcblk0p1
| vfat FAT32 bootfs
| D3E6-3F09 436,8M 14% /boot/firmware
`-mmcblk0p2
ext4 1.0 rootfs
cb6f0e18-5add-4177-ab98-e9f0235e06b3 48,4G 54% /
pi@raspberrypi:~ $ ls -la /mnt
totalt 265
drwxr-xr-x 4 root root 4096 21 okt 16.28 .
drwxr-xr-x 18 root root 4096 10 okt 06.06 ..
drwxr-xr-x 4 root root 262144 7 nov 10.27 652F-FA93
drwxr-xr-x 2 root root 512 1 jan 1970 67E3-17ED
先谢谢您的帮助!
答案1
1. 您应该确认您已经安装了处理所需的软件包外加法文件系统:
$ sudo apt update
...
$ sudo apt install exfat-fuse exfat-utils
如果它们已经安装,apt install
则会通知您这一点,并且不执行任何进一步操作。
2. 这是应该进行的更改大概写入您的/etc/fstab
文件:
从:
UUID=67E3-17ED /mnt/67E3-17ED auto defaults,nofail 0 0
UUID=652F-FA93 /mnt/652F-FA93 auto defaults,nofail 0 0
到:
UUID=67E3-17ED /mnt/67E3-17ED auto defaults,nofail 0 0
UUID=652F-FA93 /mnt/652F-FA93 auto uid=pi,gid=pi,defaults,nofail 0 0
我说大概因为我认为您不打算将任何种子下载到您的 EFI (FAT) 分区,因此没有必要进行任何更改。事实上,您可能根本不需要在文件中包含 FAT 分区/etc/fstab
。但是,如果我错了,您可以对 FAT 分区进行与 EXFAT 分区相同的处理。
如果您只对修复权限感兴趣,则无需阅读本答案的其余部分。我包含其余部分只是为了提供一些将来可能有用的背景(如果您的未来包括编辑/etc/fstab
文件之类的事情:)
造成这个现象的原因权限混乱当使用 EXFAT 时基本的:EXFAT 文件系统没有所有者/权限元数据。所有者/权限数据在安装文件系统时设置,并且无法更改(除非重新安装文件系统)。这就是为什么您会时不时地看到一些问题,询问EXFAT 分区上的操作失败的chown
原因。chmod
我们已经看到了所有权EXFAT 分区的大小是在安装时使用uid=
和gid=
参数设置的。权限也可能会更改;umask
和参数是dmask
fmask
用于此目的。
所有(或大部分)内容都包含在系统手册中:man mount.exfat-fuse
。这里的挑战是知道手册的名称! :) 这提出了关于制定条目的最后几点/etc/fstab
:
auto
我觉得在第三个字段(fs_vfstype)中使用参数/etc/fstab
是一个错误......如果您正在使用/编辑,/etc/fstab
您至少应该知道您要安装什么文件系统类型!同样,我感觉同样重新使用了
defaults
第四个字段(fs_mntops)中的参数。我不喜欢使用 UUID 来识别要安装的卷; UUID 实际上是随机数,以及为什么使用随机数来标识要安装的卷
/etc/fstab
? ...下周你会记得吗?我更喜欢标签用于识别安装座。对于 EXFAT 分区,创建标签的命令是:
sudo exfatlabel /dev/sda2 "TORRENT_STORE"
因此,我对您的条目的最终建议更改/etc/fstab
是这样的:
LABEL=TORRENT_STORE /mnt/652F-FA93 exfat uid=pi,gid=pi,rw,user,nofail 0 0
答案2
显然,内核和fuse exfat驱动程序都使用/来设置临时所有权和//uid
来gid
设置umask
挂载内容(包括挂载的“根”)的临时权限。fmask
dmask
所以你有两个选择。如果您不需要挂载可由pi
.您可以使用uid=pi
。 (您也可以添加gid=pi
以使其像您通常的情况一样HOME
。显然,这允许您将其pi
作为补充组添加到需要对挂载具有写访问权限的其他用户。)
当然,单独的所有权并不一定意味着您需要的权限,但显然是默认的,fmask
并授予文件和目录的dmask
所有者。 (但不是默认rwx
给出的所有者组;因此对于上述目标而言,单独“无用”。)r-x
gid=pi
如果您希望更改临时权限而不是所有权,您可以使用类似 的内容fmask=0111,dmask=0000
,它为所有用户提供rw-
文件和rwx
目录的权限。 (您甚至可以只设置umask=0
,这会将 和fmask
都设置dmask
为0
,即 ,0000
除非您也明确使用任何选项。)