家目录是在多用户操作系统上包含该系统的特定用户的文件文件系统目录。家目录的具体内容(如它的名称和位置)是由操作系统定义的,例如: Windows系统在20002003之间的版本中将家目录放在称为Documents and Settings的目录中、Windows Vista以上系统家目录在Users目录中、Linux系统在/home中。

描述

用户的家目录用于存放用户的文件;包括文本文档、音乐、图像或视频等,也可能包括一些记录用户使用偏好、软件首选设置的配置文件:如浏览器书签,喜爱的桌面壁纸主题、特定软件为访问外部服务而保存的密码等。用户可以在该目录中安装可执行软件,但这些软件只能向拥有该目录权限的用户开放。 家目录可以进一步组织子目录来使用。

用户家目录的内容由文件系统权限保护,一般默认只有用户自身和管理人员有访问的权限。 任何获得管理权限的用户都有权访问文件系统上任意受保护的内容,包括其他用户的家目录。

家目录的优点

家目录可避免从整个系统中分离出冗余的用户数据,且让重要文件的备份操作相对简单。此外,在大多数情况下,以受感染用户的名义,并在他们的特权下运行的木马病毒蠕虫,只能够对受感染用户的家目录下的文件进行修改,或许其中一些文件属于用户所参与的工作组,但那些文件并不是真正的系统文件

各操作系统的默认家目录

操作系统 路径 环境变量
Microsoft Windows NT (<=4) <Windows目录>\Profiles\<用户名> %UserProfile%
Microsoft Windows NT 5.x (2000, XP and 2003) <根目录>\Documents and Settings\<用户名>
Microsoft Windows Vista 以上 <根目录>\Users\<用户名>
基于Unix的系统 [1] <根目录>/home/<用户名> $HOME
Unix派生系统 /var/users/<用户名>
/u01/<用户名>
/usr/<用户名>
/user/<用户名>
/users/<用户名>
Linux (FHS) /home/<用户名>
AT&T Unix (原始版本) <根目录>/usr/<用户名>
Mac OS X /Users/<用户名>

超级用户的家目录

在大多数操作系统中,超级用户有不同于常规用户的家目录路径。Unix中超级用户为root,Windows NT中为SYSTEM。

操作系统 路径
Solaris 10 及以前 /
Solaris 11 /root
大多数BSD和GNU/Linux(FHS) /root
Mac OS X /var/root
其它Unix派生系统 /
/root
Windows NT <Windows目录>\system32\config\systemprofile

各操作系统的其他特性

Unix

在Unix下,用户在登录后自动被置于他们的家目录中。shell支持缩写变量~user指向用户的家目录(允许用户从文件系统中的任意位置浏览它或者在其他的Unix命令中使用,而~ (波浪号字符)指向当前用户的家目录。

Unix的超级用户有权访问文件系统的任意目录,从而可以访问所有用户的家目录。在旧系统中超级用户的家目录为 / 但是在许多新的系统中被改为一个单独的目录以免混乱。

VMS

VMS操作系统中,用户的家目录被称为“根目录”,同样地Unix/DOS/Windows/AmigaOS 的“根目录”被称为“主文件目录”。

对比单用户操作系统

单用户操作系统只需为所有用户文件建立一个单一目录或者分区,并没有针对单个用户而设置的独立目录(虽然用户仍然可以在主工作目录下手动设置和维护目录)。

  • AmigaOS 版本 2 及更高版本在硬盘上默认有"System"和"Work"分区。
  • BeOS (及其继承系统) 有 /home 目录,其中包含系统上单用户的文件。
  • Windows 95 OEM Service Release 2 之前的Windows版本中没有用户目录,但自此版本发布以来,\My Documents成为了单用户的家目录。
  • NeXTSTEPOPENSTEP在单用户无网络安装中,/me 被使用,当作为超级用户登录时,/root被作为家目录。

参见

引用

  1. ^ "Home Directory Definition"页面存档备份,存于互联网档案馆). Accessed on July 23, 2009