场景是这样的。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 中放置一个挂载选项(参见本网站以获得解释)。