The /etc directory contains files that have to do with system administration, that are required during bootup or shutdown, that contain system-wide configuration data or are system-wide startup scripts.
The /usr/etc directory, on systems where it exists, is similar to /etc , but it typically contains only configuration files for programs in /usr/bin , not system-wide things. On some systems, however, /usr/etc
is just a symlink to /etc , in which case both are the same thing.
This is a /bin/sh shell script that is automatically run when the system is booted. It should start the background processes that provide useful services to user programs (e.g. update, crond, inetd), mount filesystems, turn on swapping areas, and do other similar tasks. In some installations /etc/rc.local or /etc/rc.[0-9] are invoked by /etc/rc ; the intention is that all changes that need to be made for a given site are done in those files so that /etc/rc can be automatically updated when a new version of the operating system is installed.
This is a text file that contains information about users. See the passwd(5) man page for more information.
This is used by some versions of the ps(1)
command. It contains information about where in the kernel memory certain kernel data structures reside. ps(1)
reads that data directly from /dev/kmem , and at least /etc/psdatabase needs to be updated when a new version of the kernel is used; sometimes ps itself needs recompilation and even changes. Other versions of ps
use the /proc filesystem, and hence do not need any special attention when upgrading the kernel.
Contains the disk geometry for SCSI disks for those drivers that do not provide the information (for example the generic SCSI driver).
Floppy disk parameter table. This file describes what different floppy disk formats look like. The program setfdprm(1) looks in this file to see. See the man page fdprm(5) for more information.
This file lists the filesystems and swap areas that are mounted by the mount -a command in /etc/rc . See the mount(8) man page for more information, and subsection 5.6.5.
This is the program that waits for somebody to log in via a terminal (or virtual console). It is started automatically by init , once per terminal line (or virtual console) via which it should be possible to log in. Some ``terminal'' lines (really, serial lines) might not be intended for logins, e.g. when a mouse is connected to that line, so getty is not invoked on all lines. getty waits until somebody enters a username and then runs login(1) .
Another version of getty . See the section on logins for more information.
Describes how getty should use the terminal lines (speeds, parity settings, and so on).
This is a file similar to /etc/passwd , but it describes groups instead of users. See the group(5) man page for more information.
This is the program that is started as process 1 by the kernel at boot time. After init is started, the kernel booting is done. init then runs /etc/rc , starts the gettys , and so on.
This file lists the processes that init starts.
This file contains the text that getty outputs before the login prompt.
This directory contains files for LILO, a program that allows to boot from a hard disk. See the LILO documentation for more information.
This is the configuration file for file(1) . It contains the descriptions of various file formats based on which file guesses the type of the file.
This contains the message of the day that is automatically copied to the users terminal after his password is validated. It typically contains important messages from the sysadmin, such as warnings about downtime in the future. It is also common to have a short description of the type of the computer and the operating system.
This file contains information about the currently mounted filesystems. It is removed by /etc/rc , set up by mount -a , and maintained automatically by the mount(8) and umount(8) commands, and used when a list of mounted filesystems is needed, for example by df(1) .
This is a configuration file for mtools , a package for using MS-DOS format disks with . mtools is typically unnecessary with , since itself understands the MS-DOS filesystem (although that driver can be configured out when compiling the kernel, in which case mtools is needed).
This file contains the shadow passwords on systems where the shadow password software is installed. Shadow passwords mean that the password is not stored to the world-readable /etc/passwd file, but into /etc/shadow which only root can read. This way it is not possible to get the encrypted version of a password, and hence not possible to decipher it either.
This is a configuration file for the login(1) command.
Like /etc/termcap , but intended for printers. Different syntax.
This file is sourced at login time by the Bourne shell /bin/sh (and /bin/bash ; although they are the same on most systems), and the Korn shell /bin/ksh , before the user's own .profile file. This allows the sysadmin to introduce global settings easily.
Identifies secure terminals. root can login only from the terminals listed in this file. Typically only the virtual consoles are listed, so that it becomes impossible (or at least harder) to gain superuser privileges by breaking into a system over a modem or a network.
Lists trusted shells. The chsh(1) command allows users to change their login shell only to shells listed in this file. ftpd , the server process that provides FTP services for a machine, will check that the user's shell is listed in /etc/shells and will not let people log in unles the shell is listed there.
The terminal capability database. Describes by what ``escape sequences'' various terminals can be controlled. Programs are written so that instead of directly outputting an escape sequence that only works on a particular brand of terminal, they look up the correct sequence to do whatever it is they want to do in /etc/termcap . As a result most programs work with most kinds of terminals. /etc/termcap is a text file; see termcap(5) for more information.
Lists default terminal types for terminal lines. Used by login(1) .
This is one of the background programs that is started by /etc/rc or init(8) (depending on which init
is installed). It syncs (forces all unwritten data in the buffer cache to be physically written) every 30 seconds. The idea is to make certain that if there is a power failure, a kernel panic, or some other horrible thing that completely ruins everything, you won't lose more than 30 seconds' worth of writes at the most.
This is a binary file that records information about who, if anybody, is currently logged in on each terminal, and some other information about the login. Each terminal has its own record in the file. When a user logs in, login(1)
updates the record for the terminal in question to show that somebody is logged in, and when he logs out, init(8)
records that information.
This is like /etc/utmp , except that all the records written are appended instead of overwritten on the existing records. This means that /etc/wtmp grows indefinitely, although slowly. If and when it grows big enough, it will have to be trimmed.
These have to do with networking. See the Linux Network Administrator's Guide for more information.