挂载点的所有权

挂载点的所有权

我无法在新安装的分区中创建文件。我要挂载分区的文件夹 /media/hrmount由 root 拥有,所以即使我添加 fstab 行,例如

UUID=irrelevant /media/hrmount  ext4   defaults,user      0      2

/media/hrmount当我重新挂载“不相关”时,仍然由root拥有。

如果我删除该目录,希望“挂载”会自动创建它并使其拥有发出挂载命令的用户,我只会收到一条错误消息,指出该目录不存在。

我可以使用 chown 来创建目录所拥有的目录uid1000,但我知道不需要它,我确信如果我创建另一个用户,我们称他为uid1001,然后如果我们卸载分区 fs ,然后将其重新安装为uid1001安装点,/media/hrmount仍将由 拥有uid1000。这意味着我将不得不摆弄权限,虽然我可以做到这一点,但我听说只需将设备添加到上面的 fstab 就可以了。我怎样才能做到这一点?

理想的行为是通过 sudoing 或正常方式发出挂载设备命令,然后挂载分区并自动创建文件夹。

PS:我使用的是 Linux Mint 13

答案1

如果安装了 Linux 文件系统(例如 FAT32、NTFS),则根目录的目录权限将从文件系统中获取。

root必须更改根目录的所有者 ( chown) 或权限 ( chmod, setfacl),或者必须创建用户可写的子目录。后者是普通根卷所发生的情况:除了tmp用户无法写入标准目录之外。用户可以写入下面的目录/home(也可能写入非标准目录和子目录)。

答案2

您将通用选项user与文件系统特定选项混淆了uid

来自 fstab(5)

user 允许用户挂载

和来自安装(8)

uid=value 和 gid=value 设置所有文件的所有者和组。 (默认:当前进程的uid和gid。)

适用于 msdos、umsdos 和 vfat 文件系统。您可以对 adfs、affs、devpts、hfs、hpfs、iso9660、ntfs、tmpfs、udf 和 usbfs 文件系统执行类似的选项。你不需要在任何为unix设计的文件系统上设置uid,事实上你不想这样做,因为文件系统本身可以做到这一点。

答案3

挂载后,挂载点的 uid:gid 和权限将设置为挂载分区根目录中的值。因此,要更改所有者/权限,请以 root 身份挂载分区,chdir 到挂载点并根据需要设置它们

# chmod 777 .

或者

# chown johndoe:users .

答案4

通常情况下将挂载点目录所有权和权限替换为挂载设备的顶级目录的所有权和权限。所以是的,你应该(一次性)挂载文件系统,然后'sudo chown $(id -u):$(id -g) /somewhere/mntpt' 从那时起它将挂载你的 uid:gid。

一个例外是某些文件系统(如 vfat)没有 uid、gid 可映射所有权概念。

相关内容