33

I feel there is no need for a password on WSL because it is already protected from my Windows account. Nobody could use my WSL without first knowing my Windows password.

How can I disable the WSL password? I have tried passwd but it does not accept a NULL password.

nowox
  • 3,017

2 Answers2

54

In wsl add your username to a sudo config file.

Replace MY_USERNAME below to your username name.

sudo nano /etc/sudoers.d/MY_USERNAME

add the following line:

MY_USERNAME ALL=(ALL) NOPASSWD:ALL

If you don't replace MY_USERNAME with the target username you will receive an error no valid sudoers sources found.

5

Instead of editing the file by hand there is a dedicated tool (visudo) on linux that is the recommended way for modifying sudo access.

sudo visudo

or, if you want to use e.g. the editor nano, call

sudo EDITOR=nano visudo

Then you have 2 choices:


  1. Easy way

You can turn off the password check for all users in the sudo group. To do that, find the line that starts with

%sudo

and replace it with

%sudo ALL=(ALL) NOPASSWD:ALL

Done.


  1. Alternative way

Alternatively you can turn off the password check for a specific user. Here it is important that you add your new entry at the very last line. Otherwise it might fail, as you can read in man sudoers:

When multiple entries match for a user, they are applied in order.  Where there are multiple matches, the last
       match is used (which is not necessarily the most specific match).

So, add the following line as the very last line in the file. Do not forget to replace $USER with your username:

$USER ALL=(ALL) NOPASSWD:ALL

You can find your username by calling echo $USER on the command line in case of doubt.