Core System Configuration Files
These files directly control how the system boots, authenticates users, connects to networks, and enforces privileges. Most production incidents touch at least one of these.
| File | Purpose | Used For | Areas Affected |
|---|
/etc/fstab | Defines filesystem mount rules | Auto-mounting disks, persistent storage | Boot process, storage availability |
/etc/sudoers | Controls sudo privileges | Granting limited admin access | Security, privilege escalation |
/etc/ssh/sshd_config | SSH daemon behavior | Hardening remote access | Remote login, server security |
/etc/hosts | Local hostname resolution | DNS overrides, testing | Networking, name resolution |
/etc/resolv.conf | DNS resolver settings | Defining name servers | Networking, internet access |
/etc/sysctl.conf | Kernel parameter tuning | Performance & security tuning | Kernel, networking, memory |
systemd Unit Files
systemd controls how services start, stop, restart, and interact with the system. Understanding unit files removes most “why is this service acting weird?” moments.
| Component | Purpose | Used For | Areas Affected |
|---|
.service units | Manage long-running services | Web servers, databases | Service lifecycle |
.socket units | Socket-based activation | On-demand service start | Performance, resource usage |
.timer units | Scheduled execution | Replacing cron jobs | Task automation |
/etc/systemd/system/ | Admin-defined units | Custom service overrides | System behavior |
/lib/systemd/system/ | Distribution units | Default service configs | OS-level services |
User, Group & Authentication Configuration
If users can’t log in, authenticate, or access resources, the issue almost always lives here.
| File / Directory |
Purpose |
Used For |
Areas Affected |
/etc/passwd |
User account definitions |
User identification |
Login, ownership |
/etc/shadow |
Encrypted passwords |
Secure authentication |
Account security |
/etc/group |
Group memberships |
Permission management |
Access control |
/etc/login.defs |
Login policy settings |
Password aging rules |
Authentication |
/etc/pam.d/ |
PAM configuration |
Login & service auth rules |
System-wide authentication |
Networking Configuration Files
Networking issues are rarely random, they’re almost always configuration-driven.
| File |
Purpose |
Used For |
Areas Affected |
/etc/hostname |
System hostname |
Host identity |
Networking, logging |
/etc/hosts |
Local name resolution |
Static host mapping |
DNS resolution |
/etc/resolv.conf |
DNS servers |
Name resolution |
Internet connectivity |
/etc/netplan/*.yaml |
Network config (Ubuntu) |
IP & interface setup |
Network interfaces |
/etc/sysconfig/network-scripts/ |
Network config (RHEL) |
Interface definitions |
Network stack |
Boot & Startup Configuration
Changes here directly affect whether a system boots successfully or not.
| File |
Purpose |
Used For |
Areas Affected |
/etc/default/grub |
GRUB settings |
Kernel parameters |
Bootloader behavior |
/boot/grub/grub.cfg |
Generated boot config |
Boot instructions |
System startup |
/etc/inittab |
Legacy init config |
Runlevel control |
Boot process (legacy) |
Logging & Monitoring Configuration
Logs don’t appear by accident, these files decide what gets logged and where.
| File | Purpose | Used For | Areas Affected |
|---|
/etc/rsyslog.conf | Syslog configuration | Centralized logging | System logs |
/etc/rsyslog.d/ | Modular log rules | Service-specific logs | Log routing |
/etc/systemd/journald.conf | Journal behavior | Log persistence | systemd logs |
/var/log/ | Log storage | Troubleshooting | Monitoring & auditing |
Package Management Configuration
Package issues almost always come down to repository or policy configuration.
| File |
Purpose |
Used For |
Areas Affected |
/etc/apt/sources.list |
APT repositories |
Package sources |
Software updates |
/etc/apt/sources.list.d/ |
Additional repos |
Third-party packages |
Package availability |
/etc/yum.repos.d/ |
YUM/DNF repos |
Repo definitions |
Package installs |
/etc/dnf/dnf.conf |
DNF behavior |
Package policies |
Update management |
Application & Service Configuration
Most applications follow a simple rule: system-wide config lives in
/etc/.
| File / Path |
Purpose |
Used For |
Areas Affected |
/etc/nginx/nginx.conf |
NGINX configuration |
Web server tuning |
HTTP traffic |
/etc/httpd/httpd.conf |
Apache config |
Virtual hosts |
Web services |
/etc/mysql/my.cnf |
MySQL settings |
DB performance |
Databases |
/etc/postgresql/ |
PostgreSQL configs |
DB behavior |
Data services |
Security, Limits & Hardening
When the system blocks something “for no reason”, it’s usually enforcing a rule from here.
| File | Purpose | Used For | Areas Affected |
|---|
/etc/security/limits.conf | Resource limits | Preventing abuse | Process control |
/etc/selinux/config | SELinux mode | Mandatory access control | System security |
/etc/audit/auditd.conf | Audit logging | Compliance tracking | Security auditing |
/etc/fail2ban/ | Intrusion prevention | Brute-force protection | SSH & services |
Cron & Scheduled Tasks
When something runs “by itself”, cron or systemd timers are usually responsible.
| File / Path | Purpose | Used For | Areas Affected |
|---|
/etc/crontab | System-wide cron jobs | Scheduled tasks | Automation |
/etc/cron.d/ | Service cron jobs | App scheduling | Maintenance jobs |
/etc/cron.daily/ | Daily tasks | Cleanup, rotation | System hygiene |
systemd timers | Modern scheduling | Reliable automation | Task execution |
Time, Locale & Regional Settings
These files answer the question: “Why is time wrong, logs confusing, or language inconsistent?”
| File |
Purpose |
Used For |
Areas Affected |
/etc/timezone |
System time zone |
Local time alignment |
Logs, cron jobs |
/etc/localtime |
Timezone data |
Time synchronization |
System time |
/etc/locale.conf |
System locale |
Language & encoding |
Applications, shell |
/etc/environment |
Global environment vars |
Default system values |
User sessions |
File Permissions & Default Access
These settings quietly shape how permissions behave system-wide.
| File |
Purpose |
Used For |
Areas Affected |
/etc/profile |
Global shell config |
Environment defaults |
User shells |
/etc/bashrc |
Bash defaults |
Shell behavior |
Interactive sessions |
/etc/skel/ |
New user templates |
Default home files |
User creation |
umask configs |
Default permissions |
File creation rules |
Security |
Backup and Recovery Configuration
These files matter when things go wrong, not when they go right.
| File / Path |
Purpose |
Used For |
Areas Affected |
/etc/rsyncd.conf |
Rsync daemon |
File synchronization |
Backups |
/etc/fstab (recovery) |
Mount strategy |
Rescue access |
Disaster recovery |
/boot configs |
Kernel recovery |
Fallback boot |
System restore |