使用 ext4 USB 驱动器作为“普通”U 盘

使用 ext4 USB 驱动器作为“普通”U 盘

我的目标是拥有一个 ext4 格式的 USB 驱动器,并将其用作普通的 Fat32/NTFS 闪存驱动器(或 USB 盒式驱动器)。我很乐意忘记 NTFS 和 Fat32,并将此 USB 驱动器与本地网络中的所有 PC 一起使用。通过使用 CHMOD 和 CHOWN,我将创建一个真正适合所有人的 ext4 格式驱动器。每个挂载点都应该适合所有人。编写了大量命令行行,但没有教程和简单的程序来实现它。谢谢。

答案1

如果您想要为您的驱动器配备一个与所有者/组无关的文件系统,那么ext3/ext4并不适合您。

只有不支持 Linux 权限的文件系统(如 fat)才具有所有权/组属性:uid=value 和 gid=value。请参阅安装手册页。 (通过

作为一种解决方法,您可以使用绑定挂载(如果有)sudo,但这可能不是您想要的:

sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

通过

我不知道有任何合适的 unix/linux/opensource 权限无关文件系统。不幸的是,您可能应该使用exFatNTFS它是一个日志文件系统,因此不适合闪存)。


更新:我刚刚读到F2FS- “Flash 友好文件系统”,但我没有用过,而且它似乎有一个正常的unix权限模型

答案2

一种为所有人(包括新创建的文件)提供默认权限的解决方案是使用默认访问控制列表。

详细描述如下这个unix.stackexchange 答案——简短部分:

mkfs.ext4 /dev/<device>
tune2fs -o acl /dev/<device>
mount /dev/<device> /mnt/<mountpoint>
chown <username>:<groupname> /mnt/<mountpoint> # Optional; try to use the name of the user who is most commonly using this filesystem
chmod 777 /mnt/<mountpoint>
setfacl -m d:u::rwx,d:g::rwx,d:o::rwx /mnt/<mountpoint>
umount /mnt/<mountpoint>

如果您复制文件时已设置其属性,则可能会出现问题;权限可能会保留,其他用户可能无法编辑或覆盖文件(但通常仍可读取)。但由于上层目录是全球可写的,因此任何用户都可以重命名或删除文件(因此(通过复制)还可以创建自己拥有的新文件并设置权限777)。请参阅上面提到的 stackchange 答案

相关内容