我没有权限 chown 挂载的目录 /mnt/hdd。我目前以 root 身份登录。输出ls -l
是:
rwxrwxrwx 1 root root 131072 Jan 1 1970 hdd
我通过 fstab 配置安装它:
/dev/sda1 /mnt/hdd exfat-fuse defaults 0 0
我试图通过该命令将该驱动器的所有者分配给 www-data:
root@owncloud:/mnt# chown -R www-data:www-data hdd
它说我没有这样做的许可。
mount
命令输出:
/dev/sda1 on /mnt/hdd type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
答案1
/mnt/hdd
是一个 ExFAT 文件系统,它实际上没有 Unix 风格的文件所有权或权限的概念,因此无法存储它们。这就是您的chown
命令失败的原因。
显示的所有权和权限实际上是由驱动程序根据安装选项ls -l
即时创建的。exfat-fuse
由于安装选项的默认列表包括allow_other
,因此驱动程序当前允许系统上的任何用户完全访问此文件系统中的所有文件和目录。
您可以使用该id www-data
命令显示用户的用户 ID 号和组 ID 号www-data
。如果www-data
UID 为 33,主 GID 也为 33,您可以将/etc/fstab
行更改为:
/dev/sda1 /mnt/hdd exfat-fuse default_permissions,allow_root,uid=33,gid=33,nosuid,nodev,relatime,blksize=4096 0 0
然后卸载并重新挂载文件系统:
umount /mnt/hdd
mount /mnt/hdd
现在文件系统中的所有文件和目录所有权和权限都/mnt/hdd
应该已更改。
请注意,这种针对无法存储 Unix 风格所有权/权限信息的文件系统的 Unix 所有权和权限模拟仅限于您可以使用挂载选项指定的内容:通常,这意味着所有文件和所有该文件系统中的目录将具有一组固定的所有权/权限设置,并且根本无法使用chown
/命令更改它们。chmod
如果这对您来说太不灵活,恐怕唯一的选择是使用其他文件系统类型。
如果这是临时设置,使用 ExFAT 文件系统来保存 Web 服务器数据(如用户名所示www-data
)可能没问题。但如果这应该是永久设置,那么/dev/sda1
在开始使用它之前,您应该认真考虑重新格式化为另一种允许本机 Unix 风格文件所有权和权限的文件系统类型。
答案2
将条目更改/etc/fstab
为:
/dev/sdb1 /media/maria/Lexfat exfat defaults,uid=1000,gid=1000 0 0
参考:https://askubuntu.com/questions/923691/ownership-permission-problem-with-automounting-exfat-drive