3.1. Why Share a Common Structure?
An operating system's file system structure is its most basic level of
organization. Almost all of the ways an operating system interacts with
its users, applications, and security model are dependent upon the way
it stores its files on a storage device. It is crucial for a variety of
reasons that users, as well as programs, be able to refer to a common
guideline to know where to read and write files.
A file system can be seen in terms of two different logical
categories of files:
Shareable files are those that can be accessed by
various hosts; unsharable files are not
available to any other hosts. Variable files can
change at any time without any intervention;
static files, such as read-only documentation and binaries,
do not change without an action from the system administrator or an
agent that the system administrator has placed in motion to accomplish
that task.
The reason for looking at files in this manner is to help correlate the
function of the file with the permissions assigned to the directories
which hold them. The way in which the operating system and its users
interact with a given file determines the directory in which it is
placed, whether that directory is mounted read-only or read-write, and
the level of access each user has to that file. The top level of this
organization is crucial, as the access to the underlying directories can
be restricted or security problems may manifest themselves if the top
level is left disorganized or without a widely-used structure.
However, having a structure does not mean very much unless it is a
standard. Competing structures can actually cause more problems than
they fix. Because of this, Red Hat has chosen the the most widely-used
file system structure and extended it only slightly to accommodate
special files used within Red Hat Linux.