chown - 即使作为root用户也无法执行该操作

我正在尝试更改一个已挂载在我的RPI 400上的特定USB驱动器文件夹的所有者。 这是我的`lsblk -f`结果:
sda1 exfat  1.0   WD Media 0C23-43CD                               1.8T     0% /mnt/WD Media
当我尝试以root身份运行(至少根据whoami命令)sudo chown -R 1000:1000 /mnt/WD\ Media/TV\ Shows/时,我会收到以下错误。
chown: changing ownership of '/mnt/WD Media/TV Shows/': Operation not permitted
我觉得我需要这个,因为Sonarr不能在那里写入。 谢谢!

21通常情况下,“操作不允许”并不意味着不被允许,而是表示它是不可行的。如果某事被禁止,相应的信息会显示为“权限被拒绝”。 - marcelm
4@marcelm:实际上不是。EPERM的字符串文本是“操作不允许”,当您尝试以普通用户身份执行需要root权限且无法通过文件权限授权的操作时,就会得到这个错误。在FAT/EXFAT上,chown()和link()返回EPERM是一个异常情况。EPERM用于表示不可能的唯一另一种情况是尝试创建一个硬链接到目录,因为曾经允许root执行该操作,所以文档中将EPERM作为错误代码。 - Joshua
@Joshua 我承认我错了。虽然我敢肯定我在更多“不可能”的情况下遇到过 EPERM,特别是驱动程序在对 ioctl() 的响应中返回它。但当然,我找不到任何具体的例子来支持我的说法 :P - marcelm
1个回答

exfat不支持文件所有权。在存储在USB驱动器上的位中没有记录它的地方,因此当您尝试更改它们时,Linux会给出错误信息。

尝试使用uid=1000,gid=1000挂载,这将把所有文件和目录都呈现为正在使用的用户所拥有。这样,该用户运行的所有程序都可以对其进行写入操作。

或者,您可以使用umask=0000,这将把所有文件和目录呈现为777(所有用户都可以读取和写入)。


29不要使用umask=0000,而是尝试使用uid=1000,这样文件看起来就像是你拥有的。 - user253751
13-1 表示即使是完全不受信任的系统账户(如 nobody),也应该具有对可移动媒体的写入权限,这是不合适的。设置挂载媒体的用户ID是正确的做法(或者设置一个组ID和允许组读写的掩码,如果多个用户需要访问;"其他写入"位绝对不能在没有激活 "+t" 位的情况下被设置)。 - Charles Duffy
如果挂载点只能被信任的用户访问,那么我猜测不安全的umask值可能是可以接受的。但这比深度防御更脆弱。 - Toby Speight

  • 相关问题