Linux-使用特定用户权限挂载设备


86

如何在启动时挂载具有特定用户权限的设备?我仍然很难解决。我想用uid=1000和设置分隔线gid=1000。我当前对该/etc/fstab/文件的输入如下所示:

dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000

不要忘记gui = 1000。另外,/ var / www的所有权/权利是什么。它应该归root所有。
skub 2011年

1
@skub:的所有者/var/www/是root。dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000 gui=1000效果不佳(重启失败后,Ubuntu删除了该条目)。
wowpatrick

2
您的挂载源是“ dev”?
詹姆斯·T·斯内尔

@wowpatrick-您的挂载设备应为/ dev / sda1之类的东西,不应为'dev'。
skub 2011年

1
@skub:这是VirtualBox共享文件夹,因此/ dev是正确的。我现在想通了,sudo mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www效果很好。
wowpatrick

Answers:


119

要安装具有特定权限的设备,可以-o Option在安装设备时使用指令。要安装您描述的设备,请运行:

 mount -t deviceFileFormat -o umask=filePermissions,gid=ownerGroupID,uid=ownerID /device /mountpoint

例如/var/wwwwww-data以拥有者身份将VirtualBox共享文件夹安装到该目录如下:

mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www

如果要在启动时挂载设备,可以将以下条目添加到/etc/fstab文件中:

 /device /mountpoint deviceFileFormat umask=filePermissions,gid=ownerGroupID,uid=ownerUserID

同样,在相同的示例中,/etc/fstab文件条目如下所示:

dev /var/www vboxsf umask=0022,gid=33,uid=33

对于不支持以特定用户身份进行挂载的文件系统(例如ext4),上述将给出错误信息

Unrecognized mount option "uid=33" or missing value

更改ext4挂载的所有者只需运行

chown username /mountpoint

在安装之后。


我能够在ext4上使用uid / gid选项。
CMCDragonkai 2015年

这似乎不适用于mount --bind,我正在使用btrfs文件系统
meffect

umask应该umask=0077不是umask=0022只授予所有者读取或写入权限吗?umask=0022如果我正确阅读,似乎将授予他人阅读权限。我只希望安装磁盘的用户具有读取或写入权限。
Mian Asbat Ahmad

3

对于像ext3或ext4这样的文件系统,

    chown -R username:group /mountpoint

要更改当前现有文件的所有者,可以将组标识位设置为使用特定组创建新文件(在Linux下不适用于用户标识):

    find /mountpoint -type d -exec chmod g+ws {} \;

setuid和setgid上的Wikipedia条目非常有用,请参阅目录部分


17
更改设备上所有文件的所有权是非常麻烦的。由于有-o安装选项,因此是更好的方法。
有限赎罪2013年

6
-o不幸的是,对于ext4不起作用,如@wowpatrick的回答中所述。
js。

14
chown将安装的驱动器的内容发送给其他用户是很荒谬的。您不知道该驱动器上的任何应用程序可能会破坏什么。如果所有内容都属于您的用户可能很好,但这是一个非常大的
禁忌

有问题的设备是/ dev / www,它很容易控制哪些应用程序可以访问它(可能只有WWW服务器,您可以在操作过程中将其关闭)。即使使用它的应用程序仍在运行,它也将继续运行,因为这是操作的重点。
js。
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.