All checks were successful
learn org at code.softwareshinobi.com/git.softwareshinobi.com/pipeline/head This commit looks good
53 lines
2.7 KiB
Markdown
Executable File
53 lines
2.7 KiB
Markdown
Executable File
# The `sudo` command
|
||
|
||
The `sudo` ("substitute user do" or "super user do") command allows a user with proper permissions to execute a command as another user, such as the superuser.
|
||
|
||
This is the equivalent of "run as administrator" option in Windows. The `sudo` command allows you to elevate your current user account to have root privileges. Also, the root privilege in `sudo` is only valid for a temporary amount of time. Once that time expires, you have to enter your password again to regain root privilege.
|
||
|
||
> WARNING: Be very careful when using the `sudo` command. You can cause irreversible and catastrophic changes while acting as root!
|
||
|
||
### Syntax:
|
||
|
||
```
|
||
sudo [-OPTION] command
|
||
```
|
||
|
||
### Additional Flags and their Functionalities:
|
||
|
||
|**Flag** |**Description** |
|
||
|:---|:---|
|
||
|`-V`|The -V (version) option causes sudo to print the version number and exit. If the invoking user is already root, the -V option prints out a list of the defaults sudo was compiled with and the machine's local network addresses|
|
||
|`-l`|The -l (list) option prints out the commands allowed (and forbidden) the user on the current host.|
|
||
|`-L`|The -L (list defaults) option lists out the parameters set in a Defaults line with a short description for each. This option is useful in conjunction with grep.|
|
||
|`-h`|The -h (help) option causes sudo to print a usage message and exit.|
|
||
|`-v`|If given the `-v` (validate) option, `sudo` updates the user's timestamp, prompting for the user's password if necessary. This extends the sudo timeout for another 5 minutes (or whatever the timeout is set to in sudoers) but does not run a command.|
|
||
|`-K`|The -K (sure kill) option to sudo removes the user's timestamp entirely. Likewise, this option does not require a password.|
|
||
|`-u`|The -u (user) option causes sudo to run the specified command as a user other than root. To specify a uid instead of a username, use #uid.|
|
||
|`-s`|The -s (shell) option runs the shell specified by the SHELL environment variable if it's set or the shell as specified in the file passwd.|
|
||
|`--`|The -- flag indicates that sudo should stop processing command line arguments. It is most useful in conjunction with the -s flag.|
|
||
|
||
## Examples
|
||
This command switches your command prompt to the BASH shell as a root user:
|
||
|
||
```
|
||
sudo bash
|
||
```
|
||
Your command line should change to:
|
||
|
||
```
|
||
root@hostname:/home/[username]
|
||
```
|
||
|
||
Adding a string of text to a file is often used to add the name of a software repository to the sources file, without opening the file for editing. Use the following syntax with echo, sudo and tee command:
|
||
|
||
|
||
```
|
||
echo ‘string-of-text’ | sudo tee -a [path_to_file]
|
||
```
|
||
|
||
Example:
|
||
|
||
````
|
||
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
|
||
````
|