挂载时更改挂载点的所有者/uid

挂载时更改挂载点的所有者/uid

场景是这样的。Bob 有一台电脑。它崩溃了。现在他只有硬盘。硬盘是 ext3 格式。他去了办公室,告诉系统管理员 John 安装这个硬盘并将安装点放在他的主目录中。John 使用了以下 fstab 条目。

# Bobs harddisk
/media/TAPE4/Bobs-hdd.img /home/bob/myhdd/windows ntfs ro,loop,offset=32256 0 0
/media/TAPE4/Bobs-hdd.img /home/bob/myhdd/linux ext3 ro,loop,offset=14048810496 0 0
/media/TAPE4/Bobs-hdd.img /home/bob/myhdd/extra ntfs ro,loop,offset=28015335936 0 0

鲍勃很高兴。他可以访问他的旧extra账户windows。特别是对他来说,这个Documents and Settings账户windows很有帮助。

但他发现了一个问题。他是一名 Web 开发人员,他的所有网站都在linux/home/bob/public_html目录中。当他尝试访问该public_html目录时,他得到了permission_denied。他执行后ls -lh看到了这个。

drwxr-xr-x 2 john john 4.0K Nov  9  2011 Desktop
drwxr-xr-x 3 john john 4.0K Aug 12  2011 Documents
drwxr-xr-x 3 john john 4.0K Aug 21  2011 public_html

他联系了 John,认为他可能是误操作了。但 John 找不到原因。然后他想到了一件事:文件系统几乎不存储用户名。它们存储 uid。于是他执行了ls -ln

drwxr-xr-x 2 1000 1000     4096 Nov  9  2011 Desktop
drwxr-xr-x 3 1000 1000     4096 Aug 12  2011 Documents
drwxr-xr-x 3 1000 1000     4096 Aug 21  2011 public_html

John 认为 1000 是 Linux 系统上的第一个 uid。因为他是当前系统的管理员。他首先创建了自己的帐户。所以 John 的 uid 是1000。Bob 也首先设置了他的私人系统并创建了他的帐户。所以 Bob 的 uid1000也是。

所以这是预期的行为。但问题仍然存在。Bob 如何访问这些网站public_html

答案1

他可以运行gksu nautilus(以 root 用户身份运行文件管理器)并从那里修改文件权限。他还可以umask=在 fstab 中放置一个挂载选项(参见本网站以获得解释)。

相关内容