使用用户权限挂载ext3文件系统


12

我正在尝试从另一个Linux安装中挂载ext3文件系统,以便用户(不是root用户)对所有文件具有完全访问权限。(我确实确实需要用户访问这些文件,因为我想通过sshfs从另一台计算机上使用它们,而sshfs只会授予用户对该文件的访问权限。)

如果我运行,mount /dev/sda1 /mnt/whatever则只能由root用户访问所有文件。

我也mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whatever按照讨论ext4的SuperUser问题的指示进行尝试,但是由于失败而失败,并dmesg报告:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

如何挂载文件系统?


1
我想说的是,吉尔斯在您提到的超级用户问题中的答案是正确的。确实,然后手册页mount(8)不会列出ext2 / 3/4文件系统中的任何文件系统uid=...gid=...选项。
Riccardo Murri

@Riccardo谢谢,那是正确的解决方案!首先将ext定期安装到某个目录中,然后将该目录与bindfs -u $(id -u) -g $(id -g)最终目录一起安装。写出来作为答案,也许吗?
Ilari Kajaste 2011年

1
既然答案是吉尔斯(Gilles'),而且他在这个论坛上也非常活跃,那么我就把它留给他在这里重新发布并收集应得的荣誉。
Riccardo Murri

Answers:


19

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

如果您有一个使用与系统不同的用户ID的可移动文件系统,则可以bindfs用来提供具有不同所有权或权限的任何文件系统的视图。可移动文件系统必须已经安装,例如/mnt/sda1;然后,如果您希望特定用户显示为所有文件的所有者,则可以运行以下命令

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1

1
也谢谢我!稍作调整,它也适用于诸如热插拔SATA DVD-ROM之类的设备(这是我遇到问题的设备)。但是,由于000某种原因(d ---------)总是会挂载该设备,因此您必须指定-p 700bindfs行以通过dolphin/ nautilusetc等访问DVD上的文件。
语法错误

如果bindfs可以接受翻译任何UID和GID的字典的话,那就更好了
Alexey
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.