A home directory is a file system directory on a multi-user operating system containing files for a given user of the system. The specifics of the home directory (such as its name and location) are defined by the operating system involved; for example, Linux / BSD (FHS) systems use /home/⟨username⟩ or /usr/home/⟨username⟩ and Windows systems since Windows Vista use \Users\⟨username⟩.[1]

Description edit

A user's home directory is intended to contain that user's files; including text documents, music, pictures, videos, etc.[2] It may also include their configuration files of preferred settings for any software they have used there and might have tailored to their liking: web browser bookmarks, favorite desktop wallpaper and themes, stored passwords to any external services accessed via a given software, etc. The user can install executable software in this directory, but it will only be available to users with permission to execute files in this directory. The home directory can be organized further with the use of sub-directories.

The content of a user's home directory is protected by file-system permissions, and by default is accessible to all authenticated users and administrators.[3] Any other user that has been granted administrator privileges has authority to access any protected location on the file system including other users' home directories.

Benefits edit

Separating user data from system-wide data avoids redundancy and makes backups of important files relatively simple. Furthermore, Trojan horses, viruses, and worms running under the user's name and with their privileges will in most cases only be able to alter the files in the user's home directory, and perhaps some files belonging to workgroups the user is a part of, but not actual system files.[4]

Default home directory per operating system edit

Operating system Path Environment variable
AT&T Unix (original version) /usr/⟨username⟩ $HOME
Unix-derived /var/users/⟨username⟩
Unix-based [5] /home/⟨username⟩
BSD / Linux (FHS) /home/⟨username⟩ or /usr/home/⟨username⟩
SunOS / Solaris /export/home/⟨username⟩
macOS /Users/⟨username⟩
Android /data/media/⟨userid⟩
Microsoft Windows NT \WINNT\Profiles\⟨username⟩ %USERPROFILE%
\Documents and Settings\⟨username⟩


Subdirectories edit

The file /etc/xdg/user-dirs.defaults on many Linux systems defines the subdirectories created for users by default. Creation is normally done with the first login by Xdg-user-dirs, a tool to help manage "well known" user directories like desktop, downloads, documents, pictures, videos, or music. The tool is also capable of localization (i.e. translation) of the folders' names.[6]

Other features, per operating system edit

Unix edit

In Unix, the working directory is automatically set to a user's home directory when they log in. In many built-in commands, typing the ~ (tilde) character is equivalent to specifying the current user's home directory.

The Unix superuser has access to all directories on the file system, and hence can access home directories of all users. The superuser's home directory on older systems was /, but on many newer systems it is located at /root (Linux, BSD), or /var/root (Mac OS X).

VMS edit

In the OpenVMS operating system, a user's home directory is called the root directory, and the equivalent of a Unix/DOS/Windows/AmigaOS root directory is referred to as the Master File Directory.[7][8]

Single-user operating systems edit

Single-user operating systems simply have a single directory or partition for all user files, there is no individual directory setup per user (though users can still setup and maintain directories inside this main working directory manually).

  • AmigaOS versions 2 and up have "System" and "Work" partitions on hard disks by default.
  • BeOS (and its successors) have a /home directory which contains the files belonging to the single user of the system.
  • Versions of Windows prior Windows 95 OEM Service Release 2 did not have a user folder but, since that release, C:\My Documents became in-effect the single user's home directory.
  • NeXTSTEP and OPENSTEP in a single-user, non-networked setup, /me is used, as well as /root when logged in as superuser.

See also edit

References edit

  1. ^ a b "Where is my user home directory?". DownUnder GeoSolutions. Retrieved 22 February 2024.
  2. ^ "What is a Home Directory? – TecAdmin". 2023-05-15. Retrieved 2023-09-23.
  3. ^ Brown, Paul. "Classic SysAdmin: The Linux Filesystem Explained". The Linux Foundation. The Linux Foundation. Retrieved 8 December 2023.
  4. ^ Shimeall, Timothy J.; Spring, Jonathan M. (2014). Introduction to information security: a strategic-based approach (First ed.). Amsterdam Heidelberg: Syngress, an imprint of Elsevier. ISBN 978-1-59749-969-9.
  5. ^ "Home Directory Definition". Accessed on July 23, 2009
  6. ^ "Xdg-user-dirs-0.17 – Beyond Linux From Scratch (System V Edition), Chapter 11. General Utilities". linuxfromscratch.org. Retrieved 2022-02-01.
  7. ^ "OpenVMS User's Manual". odl.sysworks.biz. Retrieved 8 December 2023.
  8. ^ "Master file directory - VSI OpenVMS Wiki". wiki.vmssoftware.com. Retrieved 8 December 2023.