etc/configs
"With you...I imagine a lifetime of smiling every time i see you."

assume you must be root to edit anything in /etc

managing services in /etc/init.d
./servicename start, restart, stop, status
common service names:
apache2/httpd
named
mysql/mysqld
nfs
ypserv
smb

/etc/aliases
email aliases for sendmail

/etc/cron.allow and cron.deny
specifies which users are or aren't able to create cron jobs

/etc/crontab
cron configuration

numbers = minute, hour, day, month, day of week
days of week = 0 (sunday) thru 6 (saturday)
multiple entries in a single slot can be seperated by commas
example: 0,10,20,30,40,50 * * * * <--- runs every 10 minutes

sample:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root nice -n 19 run-parts --report /etc/cron.hourly   <---runs one minute past every hour
02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily    <---runs at 4:02am
22 4 * * 0 root nice -n 19 run-parts --report /etc/cron.weekly  <---runs at 4:22am every sunday
42 4 1 * * root nice -n 19 run-parts --report /etc/cron.monthly <---runs at 4:42am every 1st of the month

/etc/cups
contains CUPS configuration files

/etc/default/useradd
user creation defaults for useradd

/etc/dhcpd.conf
DHCP server settings

/etc/exports
NFS shares configuration

/etc/fstab
devices that are automatically mounted during boot
sample:
/dev/hda6 / ext3 noatime 1 1
/dev/hda1 /boot ext3 noatime 1 2
/dev/hda9 /home ext3 noatime 1 2
/dev/hdc /mnt/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0
none /proc proc defaults 0 0
/dev/hda7 /tmp ext3 noatime 1 2
/dev/hda10 /usr ext3 noatime 1 2
/dev/hda8 /var ext3 noatime 1 2
/dev/hda5 swap swap defaults 0 0

device, mount dir, fstype, mount options, dump backup frequency, fsck priority

mount options:
ro = read-only
rw = read-write
user = non-root user can mount the filesystem
noauto = don't automount filesystem
exec/noexec = allow execution of files or don't
suid/nosuid = allow SUID/SGID access or don't
noatime = access times are not updated upon reads

dump backup frequency
0 = don't backup this filesystem

fsck priority:
0 = never check, 1 = reserved for root partition, checked first, 2 = check other partitions second


/etc/ftpaccess
wu-ftpd configuration

/etc/group
group information

/etc/gshadow
shadowed passwords for groups, only viewable by root

/etc/hostname
hostname of system

/etc/hosts
static hostname resolution

/etc/hosts.allow
ACL for inetd/xinetd

/etc/hosts.deny
ACL for inetd/xinetd

/etc/httpd.conf
apache configuration. location varies.../etc/httpd or /etc/apache2, etc

/etc/inetd.conf
super server settings, deprecated...replaced by xinetd.conf

/etc/init.d
daemons can be stopped, started, restarted, etc from this directory
./service <action>

/etc/inittab (Ubuntu replaces the init process with upstart, closest comparable file is /etc/init/rc-sysinit.conf)
init config file
some contents...
# Default runlevel. The runlevels used by Mandrakelinux are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user moden

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1 <---- creating intial virtual terminals
2:2345:respawn:/sbin/mingetty tty2
...

/etc/issue
pre-login banner message
usually contains system information such as distribution version

/etc/ld.so.cache
index of system library names and locations (binary file)

/etc/ld.so.conf
system library paths to be included in the ld.so.cache index

/etc/lilo.conf
lilo settings

/etc/login.defs
contains default user creation settings such as password aging, UID/GID ranges, etc.

/etc/man.config
listing of man page paths (and other man configuration). most man pages are located in /usr/share/man by default

/etc/modprobe.conf
kernel module configuration

/etc/motd
message of the day (motd)
it is displayed each time a user logs into the system


/etc/mtab
lists currently mounted filesystems

/etc/named.conf
bind DNS server settings

/etc/network/interfaces
configuration of network interfaces

example:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

/etc/nologin
presence of file prevents all non-root users from logging in. file must be removed to lift restriction

/etc/ntp.conf
NTP configuration
public servers can be found at: www.ntp.org
current time at: www.time.gov

/etc/passwd
/etc/passwd entries are setup like so:
username:password (x if shadowed, * if account disabled):userid#:primarygroupid#:fullname:homedir:shell
finger information is retrieved from here
shell value of "/bin/false" gives an account no login shell

/etc/printcap
printer settings. first printer listed is considered the default printer unless PRINTER environment variable is set.
parameters:
lp = print device used by printer
sd = spool directory used by printer
rm = remote hostname of printer
rp = remote printer's name
if = filter location
mx = max size of a print job, 0 = no limit
lf = location of error log for printer

/etc/rc.d/ .... rc3.d rc4.d, etc
runlevels defined..K(kill process), S(start process)

/etc/resolv.conf
DNS client configuration
sample contents:
domain dbccwire.net
search dbccwire.net
nameserver 192.168.1.15
nameserver ... (secondary server..etc)

/etc/samba/smb.conf
samba configuration. see samba page for details

/etc/sendmail.cf
sendmail configuration

/etc/services
network services and their ports

/etc/shadow
user password information only viewable by root account

/etc/shells
listing of available shells on the system

/etc/skel
system defaults for the following files...
.bash_profile - environment variables
.bashrc - commands that run at each new shell login
.bash_logout - commands ran at logout

/etc/ssh/sshd_config
openSSH server configuration
note: never allow root access over ssh
and it's best to lock down ssh access to only those users that require it (AllowUsers username1 username2)

/etc/syslog.conf (/etc/rsyslog.d/50-default.conf in ubuntu)
syslog configuration

/etc/X11/...
X11 configs see my X windows page for more details

/etc/xinetd.conf
super server settings