Explain xkcd: It's 'cause you're dumb.
On a UNIX computer system, users can be assigned to all kinds of rights, for example rights to access to certain directories and files to execute certain commands. The sudo command overrides these policies by executing the command typed behind it as if the user were an administrator — the Super User, who can access much more of the system than a normal user.
Cueball is demanding a sandwich from a friend. Not being properly asked, the friend denies the request. Cueball then (ab)uses the sudo command on the friend, who then has no choice but to go and make the sandwich, because Cueball has all the rights.
On a real UNIX machine, to prohibit abuse of the command, the user must be in the sudoers group, and the user first must type their password before the command will be executed.
Simon Says is a children's game in which a leader gives various commands which must be followed if and only if (iff) the leader prefixes the command with "Simon says". And though UNIX's user rights management system, which one could refer to as proper user policy, is complex and powerful, people's use of it often degenerates into merely prepending "sudo" to a failed command so that it will work. For example, sometimes a command to delete a file "rm -f /path/to/some-system-file" will fail because the user does not have enough permissions, but the user knows they really want to delete the file, so they simply repeat the command with "sudo": "sudo rm -f /path/to/some-system-file".
The title text compares the way the computer will run some commands if they are preceded with "sudo" to the way Simon Says players are supposed to follow orders if they are preceded with "Simon says".
Alternatively, the title text might merely be referring to the similarity between Cueball ordering his friend around with "sudo" to the Simon Says game leader ordering other players around. Wikipedia suggests the "Simon" in the name of the game may be the powerful lord Simon de Montfort, or a corruption of Cicero, both of whom were influential politicians of their day.
- [Cueball is sitting on a couch, talking to a friend.]
- Cueball: Make me a sandwich.
- Friend: What? Make it yourself.
- Cueball: Sudo make me a sandwich.
- Friend: Okay.
add a comment! ⋅ add a topic (use sparingly)! ⋅ refresh comments!
Note that it is more effective to write "sudo !!" to redo the last command but with sudo added to it. -- Agge.se (talk) (please sign your comments with ~~~~)
sudo !! outputs the previous command with sudo into your bash (other shells as well) history, so to bash what you said was "sudo make me a sandwich" not "sudo !!". lcarsos (talk) 16:46, 29 October 2012 (UTC)
sudo requires user password, not admin password, but you need to be in
sudoers file. --JakubNarebski (talk) 12:14, 15 December 2012 (UTC)
- How many people will know the difference? In a typical Ubuntu-family install with only one human user, root doesn't have a password, but the one user who does is a sudoer (and has to use
su to act as root, rather than doing so starting at login). Promethean (talk) 06:08, 30 August 2013 (UTC)
"the user first must type their password" This is not accurate. It is the default, but many domains disable that requirement.
18.104.22.168 06:47, 14 January 2015 (UTC)
I believe the original comic actually read "Sudo bang bang" instead of "Sudo make me a sandwich". Here's a link to what I think is a copy of the original. I'm not sure which of the two is actually the original. 22.214.171.124 (talk) (please sign your comments with ~~~~)
- The words "bang bang" (particularly the first B) look a bit fuzzy/pixelated compared to the rest of the text, which gives me the feeling that it was edited from this one, which is the original. Zowayix (talk) 23:03, 23 January 2014 (UTC)
- If you click on the image (on the Stack Overflow link), it leads you to http://justinsomnia.org/2006/09/sudo-bang-bang/, which says: 'This just occurred to me' [comic] 'Original comic from xkcd by Randall Munroe', implying it was indeed edited. 126.96.36.199 20:42, 11 August 2014 (UTC)
- On a different, but totally related note: Here you can find an aptly named little program with which the charming conversation would be: "Make me a sandwich." - "What? Make it yourself." - "Fuck." - "Okay." 188.8.131.52 08:24, 28 June 2016 (UTC)
Comment: This conversation is an easter egg in Google Now on Android tablet. Using voice search to say "make me a sandwich" will give the reply "what? make it yourself", adding "sudo" will get the response "ok". I assume the Google now implementation came later and is based on xkcd. 184.108.40.206 (talk) (please sign your comments with ~~~~)
- Siri will also respond "okay" if you say "sudo make me a sandwich:", though she doesn't respond with the XKCD response to "make me a sandwich". 220.127.116.11 13:32, 27 October 2015 (UTC) (MSC)
This reworked for the Make utility:
$ make sandwich
Must be root
$ sudo make sandwich
mv sandwich /etc/sandwich
sandwich installed in /etc
Alexbuzzbee (talk) 02:50, 23 August 2015 (UTC)
- It also reminds me the Star Trek: Voyager episode where Q tampered with the ship's replicators:
- Janeway: "Coffee, black."
- Replicator: "Make it yourself."
(But she didn't try "Sudo coffee, black.") - Mike Rosoft (talk) 18:14, 13 March 2016 (UTC)
- This forfells the advent of Alexa and the other personal home assistants. 18.104.22.168 20:19, 14 October 2017 (UTC)