sudo is a program for Unix-like computer operating systems that allows users to run programs with the security privileges of another user. Its name is a concatenation of "su" and "do", or take action.
Unlike the su command, users typically supply their own password to sudo rather than the root password. After authentication, and if the /usr/local/etc/sudoers configuration file permits the user access, then the system will invoke the requested command. The sudoers configuration file enables a huge amount of configurability, including but not limited to: enabling root commands only from the invoking terminal; not requiring a password for certain commands; requiring a password per user or group; requiring re-entry of a password every time or never requiring a password at all for a particular command line. It can also be configured to permit passing arguments or multiple commands, and even supports commands with regular expressions.
In contrast to systems like polkit, sudo does not encourage a broad brush approach through an API, gives more control to both developers and users, and has a much more robust design through taking advantage of the security inherent in filesystems that the foundations of Unix security is based upon. Despite claims that polkit grants fewer permissions due to sudo granting root rights to an entire process, sudo is most often used to allow a process to carry out a specific subset of its functionality that users can easily identify and modify for greater security.