Linux: Delete user password command

Posted on in Categories , , , , , last updated August 28, 2017

I am a new Linux user. I would like to disable a password for an account. How do I delete user Password under Linux operating system using command line option?

All user passwords are stored in /etc/shadow file. The quick way to remove/delete a user password is pass --delete option to the passwd command. First, login in as a root user using sudo command/su command and type the following command:

Command to delete user password under Linux

Type the following command to delete a user password:
# passwd --delete username
OR
# passwd -d username
OR
$ sudo passwd -d sweta
Removing password for user sweta.
passwd: Success

Above command delete a user’s password (make it empty). This is a quick way to disable a password for an account. It will set the named account passwordless. User will not able to login. It is also a good idea to setup user shell to nologin to avoid security related problems:
# usermod -s /usr/sbin/nologin usernameFor example to delete password for user sweta, Type:# passwd -d sweta
# usermod -s /usr/sbin/nologin sweta

Verification

Use the following chage command/grep command (feel free to replace the username sweta with actual username):
# chage -l sweta
# grep sweta /etc/passwd
# grep sweta /etc/shadow

Sample session:

Fig.01: All commands in action
Fig.01: All commands in action

See also:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 18 comments/add one below):

18 comment

  1. I have a Doubt,I want ssh and sftp to remote machine without asking password.

    I did lots of thing according to the net help but it is still asking password.

    I did on server as follows

    1) ssh-keygen -t dsa; ssh-keygen -t rsa
    2) copied it on remote host in my home dir. /.ssh/authorized_key
    but it is asking password
    3) on server i gave command ssh-agent $SHELL and ssh-add
    some simple mistake is there but i am not able to find out could anybody help me out.

  2. if 3/4 client machines are connected to a solaris server,what would be the command to know that each and every client machine using the memory and other resources of the server and upto what %

    1. Use the ‘sudo’ command (without quotes) before the commands, for example, to delete password for user sweta, Type:
      # sudo passwd -d sweta
      # sudo usrmod -s /sbin/nologin sweta
      if it still doesn’t allow you to, then edit the following file: /etc/sudoers
      there are many articles about this on forums. Basically find all lines like this:
      yourusername ALL=(ALL:ALL) ALL
      or
      %yourgroupname ALL=(ALL) ALL
      and change ALL=(ALL:ALL) ALL (and) ALL=(ALL) ALL
      (to) ALL=(ALL) NOPASSWD:ALL
      (and) ALL=(ALL:ALL) NOPASSWD:ALL
      also, make sure the
      #includedir /etc/sudoers.d
      line has to hashes (##)
      hope the long post helps.

  3. The following line:

    It will set the named account passwordless. User will not able to login.

    is inaccurate, at least on Centos 6.x. This page should make it very plainly clear that disabling a password disables password checking and does NOT disable the account. On the console, this means you can log in with no credentials. PAM likely prevents this from working with SSH in default configurations, but PAM is not always configured for sshd.

    1. Yes, this is right. Even I observed exactly what you did. It resets the password to blank and doesn’t prevent the user from logging in.
      OS: CentOS 6.7 and higher

  4. I Am using Acer C70 with Manjaro Linux Xfce 64 bit. I forget my password. I want to remove the password but maintain the account without password. Any help please. am a newbie.

Leave a Comment