The /etc hierarchy contains configuration
files. A "configuration file" is a local file used to control the
operation of a program; it must be static and cannot be an executable
binary.
[2]
It is recommended that files be stored in subdirectories of
/etc rather than directly in
/etc.
No binaries may be located under
/etc.
The following directories, or symbolic links to directories are
required in /etc:
| Directory | Description |
|---|---|
| opt | Configuration for /opt |
The following directories, or symbolic links to directories must
be in /etc, if the corresponding subsystem is
installed:
| Directory | Description |
|---|---|
| X11 | Configuration for the X Window system (optional) |
| sgml | Configuration for SGML (optional) |
| xml | Configuration for XML (optional) |
The following files, or symbolic links to files, must be in
/etc if the corresponding subsystem is
installed:
[3]
| File | Description |
|---|---|
csh.login | Systemwide initialization file for C shell logins (optional) |
exports | NFS filesystem access control list (optional) |
fstab | Static information about filesystems (optional) |
ftpusers | FTP daemon user access control list (optional) |
gateways | File which lists gateways for routed (optional) |
gettydefs | Speed and terminal settings used by getty (optional) |
group | User group file (optional) |
host.conf | Resolver configuration file (optional) |
hosts | Static information about host names (optional) |
hosts.allow | Host access file for TCP wrappers (optional) |
hosts.deny | Host access file for TCP wrappers (optional) |
hosts.equiv | List of trusted hosts for rlogin, rsh, rcp (optional) |
hosts.lpd | List of trusted hosts for lpd (optional) |
inetd.conf | Configuration file for inetd (optional) |
inittab | Configuration file for init (optional) |
issue | Pre-login message and identification file (optional) |
ld.so.conf | List of extra directories to search for shared libraries (optional) |
motd | Post-login message of the day file (optional) |
mtab | Dynamic information about filesystems (optional) |
mtools.conf | Configuration file for mtools (optional) |
networks | Static information about network names (optional) |
passwd | The password file (optional) |
printcap | The lpd printer capability database (optional) |
profile | Systemwide initialization file for sh shell logins (optional) |
protocols | IP protocol listing (optional) |
resolv.conf | Resolver configuration file (optional) |
rpc | RPC protocol listing (optional) |
securetty | TTY access control for root login (optional) |
services | Port names for network services (optional) |
shells | Pathnames of valid login shells (optional) |
syslog.conf | Configuration file for syslogd (optional) |
mtab does not fit the static nature of
/etc: it is excepted for historical reasons.
[4]
Host-specific configuration files for add-on application
software packages must be installed within the directory
/etc/opt/<subdir>, where
<subdir> is the name of the subtree in
/opt where the static data from that package is
stored.
No structure is imposed on the internal arrangement of
/etc/opt/<subdir>.
If a configuration file must reside in a different location in
order for the package or system to function properly, it may be placed
in a location other than
/etc/opt/<subdir>.
Refer to the rationale for /opt.
/etc/X11 is the location for all X11 host-specific configuration. This directory is necessary to allow local control if /usr is mounted read only.
The following files, or symbolic links to files, must be in
/etc/X11 if the corresponding subsystem is
installed:
| File | Description |
|---|---|
xorg.conf | The configuration file for X.org versions 7 and later (optional) |
Xmodmap | Global X11 keyboard modification file (optional) |
Subdirectories of /etc/X11 may include
those for xdm and for any other programs (some
window managers, for example) that need them.
[5]
Generic configuration files defining high-level parameters of
the SGML systems are installed here. Files with names
*.conf indicate generic configuration files.
File with names *.cat are the DTD-specific
centralized catalogs, containing references to all other catalogs
needed to use the given DTD. The super catalog file
catalog references all the centralized
catalogs.
Generic configuration files defining high-level parameters of
the XML systems are installed here. Files with names
*.conf indicate generic configuration files.
The super catalog file
catalog references all the centralized
catalogs.
[2]
To be clear, /etc may contain executable scripts,
such as the command scripts commonly called by
init to start and shut down the system and start
daemon processes. "Executable binary" in this context refers to
direct machine code or pseudocode not in a human-readable format, such
as native ELF executables.
[3]
Systems that use the shadow password suite will have additional
configuration files in /etc
(/etc/shadow and others) and programs in
/usr/sbin (useradd,
usermod, and others).
[4]
On some Linux systems, this may be a symbolic link to
/proc/mounts, in which case this exception is not
required.
[5]
/etc/X11/xdm holds the configuration files for
xdm. These are most of the files previously
found in /usr/lib/X11/xdm. Some local variable
data for xdm is stored in
/var/lib/xdm.