如何以普通用户身份手动安装以读写方式运行的Linux文件系统?


19

这似乎是一个愚蠢的问题,但是对于大多数Linux东西,在我看来,很多琐碎的事情没有记录在案。

无论如何,我想将ext4文件系统简单地挂载到Ubuntu(/ media / everywhere)中的普通挂载点上,以当前登录用户(即我)可读写的方式进行。

我不想在/ etc / fstab中添加任何内容,我只想现在手动进行。我需要超级用户特权才能挂载设备,但是只有root可以读写该挂载。我尝试了各种安装选项,将其添加到fstab中,但是没有运气。


您是否有理由不希望将其挂载在主目录中的某个位置?
罗伯特·S·恰科西奥

Answers:


13

在ext4文件系统(例如ext2,ext3和大多数其他起源于unix的文件系统)上,有效的文件权限并不取决于谁挂载了文件系统或挂载选项,仅取决于存储在文件系统中的元数据。

对于Ubuntu,插入磁盘时应该自动进行挂载,或者您应该能够单击图标进行挂载。您也可以pmount从命令行以普通用户身份安装来挂载文件系统。

如果您有一个使用与系统不同的用户ID的可移动文件系统,则可以使用bindfs(在相同名称的Ubuntu软件包中)提供具有不同所有权或权限的任何文件系统的视图。可移动文件系统必须已经安装,例如/media/disk9;然后,如果要显示为所有文件的所有者,则可以运行

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9

谢谢!这对我来说与ext3一起工作。请注意,我必须首先将ext3文件系统挂载到某个挂载目录中,然后使用bindfs将该目录挂载到最终目录中。
Ilari Kajaste 2011年

8

挂载ext4文件系统时,它使用该文件系统中嵌入的权限。如果要覆盖这些名称,请使用以下内容:
1.查找要挂载的用户的UID:id <username>并查找UID = <用户ID>(<用户名>)GID = <组ID>(<组名>)2 。sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

这将挂载文件系统,并将指定的用户标记为所有文件的所有者,并将指定的组标记为所有文件的组。nosuid是一种安全措施,可防止用户引入suid程序并使用它们来获得对系统的root访问权限(即,文件系统上bash的suid版本)。添加该noexec选项将提供额外的安全性,但会阻止用户执行文件系统上的文件。

注意:如果您只是尝试与文件系统进行交互,则应该修复设备上的权限,或者如果只是暂时的事情(例如,恢复损坏的安装),则应以root用户身份与设备进行交互。

如果这是为了安装USB或其他可移动外部驱动器,则应签出pmount可以自动执行该过程的系统,或者至少使其变得相当简单(例如,pmount <device>应为您创建文件夹,以用户身份安装,并允许您以用户身份卸载它)


1
知道这是否也适用于EXT3吗?我得到EXT3-fs: Unrecognized mount option "uid=1000" or missing value的dmesg的,当我与ext3的尝试。
Ilari Kajaste 2011年

@Ilari:它不能与ext3一起使用,也不能与ext4一起使用。大多数用于unix文件系统的Linux驱动程序没有UID和GID映射选项。
吉尔(Gilles)“所以,别再邪恶了”,

-1不起作用。
Ilari Kajaste 2011年


1

如果您不想手动编辑/ etc / fstab文件,建议您尝试PySDM来定义定期挂载ext4文件系统的规则。可以通过在Synaptic中安装“ pysdm”软件包或在Ubuntu软件中心搜索“ pysdm”来安装它。安装后,可以在系统->管理->存储设备管理器下使用。

PySDM发挥作用


1

在阅读http://ubuntuforums.org/showthread.php?t=2142284的最后评论后才意识到,一个人要做的只是sudo chown -Rvf <user>:<group> <mountpoint>

这就是所有需要的...


2
这是破坏性的操作。如果在挂载之前进行此操作,则不会对挂载的驱动器上的文件所有权产生任何影响。如果在安装后执行此操作,则它将覆盖所有权限。如果驱动器包含Linux安装,则在卸载后,像这样更改权限将使其无法启动。
华宝
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.