Frequently Asked Question
What goes in /etc and why is it always plain text?
/etc holds the system's host-specific configuration files: user accounts (/etc/passwd,
/etc/shadow, /etc/group), filesystems to mount at boot (/etc/fstab), hostname and
network resolution (/etc/hostname, /etc/hosts, /etc/resolv.conf), service
configuration (/etc/ssh/sshd_config, /etc/nginx/nginx.conf), and the distribution's
identity (/etc/os-release). The name originally meant "et cetera", a catch-all from
early Unix, but its modern role is strictly configuration. The FHS forbids executables
here.
Almost everything in /etc is plain text, which is a deliberate design choice with major
consequences. You can read configuration with less, edit it with any editor, diff it
between machines, version it with git, and template it with configuration-management
tools like Ansible or Puppet. Compare this with Windows, where most settings live in an
opaque binary registry and require dedicated tools to inspect. The text-file convention
is one of Unix's most quietly powerful design decisions.