Linux Know-How provides a collection of introductory texts on often needed Linux skills.

Setup and Configuration Files

System-wide settings settings are stored in the /etc directory. User-specific settings are stored in the user home directory /home/user_login_name.

Here is a listing of some system-wide configuration files that I use most often:


/etc/bashrc - system-wide default functions and aliases for the bash shell

/etc/profile - system-wide defaults for bash shell, including system-wide environment variables.


/etc/passwd - contains passwords and other information concerning users who are registered to use the system. It can be modified by root directly, but it is preferable to use a configuration utility such as passwd to make the changes. A corrupt /etc/passwd file can easily render a Linux box unusable.

/etc/shadow - contains "shadow" information for the passwd file, i.e., the information pieces which "the world" does not have permission to read.

/etc/group - similar to /etc/passwd but for groups.

/etc/crontab - setup for "cron", which runs commands periodically (hourly, daily, weekly, monthly, etc.).

/etc/inittab - runs different programs and processes on startup.

/etc/issue - message that accompanies login prompt. This is often overwritten by the rc.local script.

/etc/ - same as above, but used when login is attempted over the network.

/etc/motd - "message of the day" file, displayed after a user logs in.

/etc/rc.d/rc.local - the last script to execute on the system bootup. I put the commands which customize my local machine at the end of this file. It works like DOS "autoexec.bat".


/etc/hosts - contains a list of host names and absolute IP addresses.

/etc/hosts.allow - hosts allowed to access Internet services

/etc/hosts.deny - hosts forbidden to access Internet services

/etc/resolv.conf - setups for a list of domain name servers used by the local machine

/etc/inetd.conf - configures the inetd daemon to tell it what TCP/IP services your machine should run.

/etc/exports - specifies hosts to which file systems can be exported using NFS (network file system). man exports contains information on how to set up this file for remote users.


/etc/conf.modules - setup for the Linux kernel modules. Modules are like "device drivers" under MS Windows or DOS.

/etc/fstab - contains information on partitions and file systems used by system to mount different partitions and devices on the directory tree.

/etc/mtab - shows currently mounted devices and partitions and their status.

/etc/lilo.conf - configuration file for lilo boot loader.

/boot/grub/grub.conf - configuration file for grub boot loader.

/etc/printcap - setup for printers.

/etc/termcap - ASCII database defining the capabilities and characteristics of different consoles, terminals, and printers. You typically don't want to change these.

/etc/X11/XF86Config - X configuration file. For XFree version 4.xx, the file is /etc/X11/XF86Config-4 (if it does not exist, then XF86Config is tried).

Last Update: 2010-12-16