使用具有多个Linux安装的外部EXT4硬盘时解决权限问题

你好,我有一个外置硬盘,因为我只使用Ubuntu和Fedora我决定格式化我的硬盘到ext4一切都很好。

问题是当我安装驱动器时,我需要更改权限,以便我可以读写

我应该使用什么样的许可? 欣赏我的用户名?

虽然它可能是我的瘸子,但我将不得不用另一个问题回答这个问题。 如果我们所讨论的只是一个操作系统,那么它也是

sudo chown -R(用户名)/ dev /(设备名称)( ubuntu

或只是chown -R(用户名)/ dev /(设备名称) fedora – 没有sudo,只需从root运行命令。

面条刮擦器部分,以及我没有任何好答案的部分,是如何制作它,这样当你在发行版之间来回时,你不必手动重新输入。 我几乎想把这条线添加到我的〜/ .bashrc中,但是可能有一种更好的方式我不知道或者还没有想到。

最简单的解决方案是确保您的Ubuntu和Fedora用户帐户具有相同的用户ID(UID)。

我认为Fedora默认启动用户帐户为500,而Debian和Ubuntu启动它们为1000,所以很可能在一个操作系统中你是用户编号500而在另一个操作系统中你是用户编号1000.文件系统使用这个UID编号跟踪权限,因此如果您确保它们具有相同的UID,则它们将被视为同一用户,并且不会发生权限问题。

我认为你能做的最好就是让它们都是UID = 1000,所以改变Fedora系统中的UID,然后确保外部磁盘上的所有文件和Fedora安装用户的$ HOME都归UID 1000所有。你应该没有任何权限问题了。

在/ etc / fstab中,您可以将uid = 1000(在Ubuntu中 – 在Fedora中为500)用于您的用户拥有的驱动器(假设您是第一个用户,yada yada yada …如果没有,您的用户是uid来自id )和umask = 000如果你想让所有用户都有访问权限(或077只是由uid指定的那个= – 它是一个掩码,所以你把你的chmod与你的chmod相反)

有关使用/ etc / fstab的更多信息: http : //ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html

你可以尝试使用exfat或ntfs。 对我而言,它就是这样的。 但我现在不知道它是否适用于每个文件权限。 我想不是。

不幸的是,Linux内核对ext2 / ext3 / ext4 FS强制执行POSIX权限。

您可以使用共享组解决POSIX权限问题。 我问相应的问题: https : //unix.stackexchange.com/questions/273144/predefined-group-ids-across-linux-distros/但毕竟我做了自己的研究。

我发现sys group在Debian,Ubuntu,RedHat,Fedora,CentOS,Suse,FreeBSD,OpenBSD,NetBSD,MacOSX,Solaris上共享id 3。

考虑到这样的发现,一个解决方案可能看起来像:

 $ sudo chgrp -R sys /mnt/data/dir $ sudo chgmod -R g+s /mnt/data/dir $ sudo fsetacl -R -mg:sys:rwx /mnt/data/dir $ sudo fsetacl -R -d -mg:sys:rwx /mnt/data/dir 

和它的味道(无论何时你在Linux / FreeBSD / MacOSX / Solaris上):

 $ sudo adduser user sys 

也可以看看:

这是@ gavenkoa使用共享组的方法的略微变化,并且不涉及修改已安装的驱动器。

检查已安装的驱动器中使用的组ID(GID)。

 su cd /mnt/data/dir # or wherever it is mounted ls -l 

我们假设您看到类似于以下内容的内容:

drwxr-xr-x 3 12588 12000 4096 30.06.2017 11:22文件/

这意味着12000是驱动器中数据的当前GID,并且该组的任何其他用户都可以读取和执行(不能写入)数据。 创建一个新组(例如, driveusers用户)并将当前用户添加到新组:

 groupadd -g 12000 driveusers sudo gpasswd -a $USER driveusers # add the current user to the new group sudo chmod 770 /mnt/data/dir # optional, just to ensure the drive mount is accessible to user and group of the drive 

我找到了其他解决方案:

https://unix.stackexchange.com/questions/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

https://unix.stackexchange.com/a/273705

有了这个:

 sudo chgrp -R sys /mnt/data/dir sudo chmod -R g+s /mnt/data/dir sudo setfacl -R -mg:sys:rwx /mnt/data/dir sudo setfacl -R -d -mg:sys:rwx /mnt/data/dir 

和这个的味道:

 sudo adduser user sys 

您的用户可以在/dir上读/写任何文件。

@jadelord @ gavenkoa你认为现在可以为你建议的Ubuntu(或Fedora)用户解决方案做些什么改进吗? 谢谢