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.

Video

Further reading and video