sudo command allows a normal user to run a command or perform activities as another user. Usually, when you use the
sudo command, it will execute the given command as the
When you periodically use the
sudo command, getting a password prompt gets annoying. There are two ways you can disable the password prompt, but a password is still required only once.
You can either login as the
root user for a while, or remove the password prompt entirely.
Method 1: Temporarily log in as the root user
The first method is to log in as the root user. Since you are logged in as the root user, you can do anything without the necessity of a password.
This works well on the Ubuntu desktop where the root user is not set and any sudo user can switch to the root user. That may not be the case in Ubuntu server where a dedicated root account with a password is set already.
This method is slightly more secure than removing the password prompt altogether. That is because you are still initially asked for the password when you log in as the root user.
This is only a bit more secure and should be attempted with extreme caution.
To log in as the root user, simply use the
-i option with the
$ sudo -i
[sudo] password for pratham:
The shell prompt for a normal user (in bash) is the dollar symbol (
$), and when you log in as root, your prompt will change to the hash symbol (
Once you are logged in as the root user, you can run any command that needs higher privilege without having to use the
sudo command at all.
When your tasks are complete, you can exit out of the root user's shell by either pressing the
Ctrl + D key combination or by typing the
Method 2: Edit the sudoers file
This is different than editing a regular text file in the command line.
The sudoers file is a configuration file for the
sudo command. This file should be edited only by the use of the
visudo command will copy the
/etc/sudoers file to a randomly named file in
/tmp directory and open that in the Vi editor. When you edit it, the changes will be written to the temporary file that was created in the
/tmp directory and it is check for syntax errors.
If everything seems okay, the
/etc/sudoers file is overwritten by the temporary file and new changes are brought in effect.
To run the
visudo command, you must have superuser access. Hence, the
sudo command is necessary if you are a non-root user.
When you run the
visudo command, your sudoers file (if not previously modified) will look very similar to mine.
In the editor, add the following line at the very bottom, but before the
USERNAME ALL=(ALL:ALL) NOPASSWD:ALL
In this syntax, the important part of this line is the
NOPASSWORD part, it essentially allows
pratham) to run the
sudo command without password.
If you want to enable this for a group, use the following syntax:
%GROUPNAME ALL=(ALL:ALL) NOPASSWD:ALL
Since I want to enable password-less
sudo for my user named as
pratham, I added the following line in my editor.
Save the file and quit. The sudoers file will be automatically overwritten if the modified version has no syntax errors.
Once that is successfully done, you or your members of the specified group will never be asked for a password ever again.
Conclusion: Don't try this at home
This article covers two methods of using the
sudo command without having to enter password. The first method is to log in as the root user without worrying about further authentication. And the second method is to edit the sudoers file to not ask a user or a group for a password again.
This significantly increases the attack vector for you and must be practiced with strict caution.