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.
[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
.