Sudo was invented so university students could unjam a printer
In 1980, Robert Coggeshall and Cliff Spencer created the command sudo at SUNY Buffalo out of operational desperation. Undergraduate computer science students frequently jammed the department's central line printer and needed root administrative access to restart the print daemon. Instead of sharing the superuser password or granting dangerous unrestricted privileges to students, the engineers wrote a lightweight utility to delegate single, specific administrative commands without exposing the root password.
The Monolithic Root Problem in Early Unix
In the early days of Unix operating systems, administrative authority was strictly binary. A user was either an ordinary account with access limited to their own files and processes, or they were the superuser, universally identified by user ID 0 and known as root. The root account held unchecked power over the entire machine. It could read, alter, or delete any file, reconfigure networking hardware, and terminate arbitrary processes. To perform even the most trivial administrative chore, a person had to switch to this omnipotent account using the su utility, which required entering the system-wide root password.
This all-or-nothing security model created severe operational friction in institutional environments like universities. In computer science departments, dozens or hundreds of students, instructors, and researchers shared a single central computer. Hardware failures and software hiccups were daily occurrences. Printers, in particular, were notorious for hardware jams, stuck queues, and stalled spooler daemons. Restoring a printer to service required stopping and restarting the system print daemon, a task that required root privileges. If system administrators refused to share the root password, machines sat idle until an authorized staff member arrived. If they shared the password, every user who needed to clear paper jams gained the ability to accidentally or maliciously wipe the entire filesystem.
Faced with this persistent operational bottleneck at the State University of New York at Buffalo around 1980, two engineers, Robert Coggeshall and Cliff Spencer, wrote a small utility program. They called it sudo, an abbreviation commonly interpreted as either superuser do or substitute user do. Rather than passing around the master key to the department's systems, they aimed to delegate a single, specific administrative action to untrusted users without granting them full control over the machine.