Both Linux and UNIX-like operating systems use the passwd command to change user password. The passwd is used to update a user’s authentication token (password) stored in /etc/shadow file. The passwd change passwords for user and group accounts. A normal user may only change the password for his/her own account, the super user (or root) may change the password for any account. The administrator of a group may change the password for the group. passwd also changes account information, such as the full name of the user, user login shell, or password expiry date and interval.
Linux Set User Password
Type following passwd command to change your own password:
$ passwd
Sample Outputs:
Changing password for vivek (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
The user is first prompted for his/her old password if one is present. This password is then encrypted and compared against the stored password. The user has only one chance to enter the correct password. The super user is permitted to bypass this step so that forgotten passwords may be changed. A new password is tested for complexity. As a general guideline, passwords should consist of 10 to 20 characters including one or more from each of following sets:
- Lower case alphabetics
- Upper case alphabetics
- Digits 0 thru 9
- Punctuation marks/spacial characters
Linux change password for other user account
You need to login as the root user, type the following command to change password for user vivek:
# passwd vivek
OR
$ sudo passwd vivek
Sample putput:
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Where,
- vivek – is username or account name.
Passwords do not display to the screen when you enter them. For example:
Linux changing user password using passwd
Linux Change Group Password
When the -g option is used, the password for the named group is changed. In this example, change password for group sales:
# passwd -g sales
The current group password is not prompted for. The -r option is used with the -g option to remove the current password from the named group. This allows group access to all members. The -R option is used with the -g option to restrict the named group for all users.
Changing user passwords on Linux
As a Linux system administrator (sysadmin) you can change password for any users on your server. To change a password on behalf of a user:
- First sign on or “su” or “sudo” to the “root” account on Linux, run: sudo -i
- Then type, passwd tom to change a password for tom user
- The system will prompt you to enter a password twice
To change or set a new root (superuser) password type:
$ sudo passwd
Forcing Linux user to change password at their next login
By default, Linux passwords never expire for users. However, we can force users to change their password the next time they log in via GUI or CLI methods. The syntax is straightforward:
$ sudo passwd -e {username}
$ sudo passwd --expire {username}
Let us immediately expire an account’s password:
$ sudo passwd -e marlena
The system will confirm it:
passwd: password expiry information changed.
When user try to login via ssh command, they will see the following on screen:
$ ssh marlena@192.168.2.25 Last login: Fri Dec 4 04:12:48 2020 from 192.168.2.105 WARNING: Your password has expired. You must change your password now and login again! Changing password for marlena. Current password: New password: Retype new password: passwd: password updated successfully Connection to 192.168.2.25 closed.
Locking and Unlocking user password of the named account
Note that the following local command does not disable the account. The user may still be able to login using another authentication token, such as an SSH key. To disable the account, administrators should use either usermod --expiredate 1 {username} or sudo passwd --expire {username} command. Also, users with a locked password are not allowed to change their password to get around the security policy set by sysadmin.
We can lock the password as follows:
$ sudo passwd -l {username}
This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ! at the beginning of the password in the /etc/shadow file. Want to unlock the password, try:
$ sudo passwd -u {username}
The above command option re-enables a password by changing the password back to its previous value. In other words, to the value before using the -l option.
A note about setting up a secure Linux password
Compromises in password security typically result from careless password selection. Avoid common password such as:
- Words which appears in a dictionary
- Your first and last name
- Pet names
- Kids or spouses names
- License number
- Date of birth (DoB)
- Home or office address
I strongly recommend that you generate a unique password for all user accounts using your chosen password manager.
Conclusion
The passwd command line utility is used to update or change user’s password. The encrypted password is stored in /etc/shadow file and account information is in /etc/passwd file. To see all user account try grep command or cat command as follows:
$ cat /etc/passwd
$ grep '^userNameHere' /etc/passwd
$ grep '^tom' /etc/passwd
The guidance given in this quick tutorial should work with any Linux distribution, including Alpine, Arch, Ubuntu, Debian, RHEL, Fedora, Oracle CentOS, SUSE/OpenSUSE and other popular Linux distros.
🐧 72 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Could you help me how to edit the commands before booting in CentOS? I can’t seem to get it right.
choose the desired OS, in this case CentOS then press e for edit then select the kernel then press e again and type space linuxsingle then enter to accept changes, press b for boot. They told me that a prompt will appear but there is none so that i can type passwd to change the password and username. Pls. help me.
i want to change my user password on my laptop the one i use to log in
thanks this help alot
hi!
I am Aloka . I am student of computer science & I have linux on my machine.
i forgotten the username & password of it.
can u help me for this for changing the username & password.
plz help me.
fist open the window than Alt+Ctrl+f1 after that login passwd and type use name and password
I have done the Alt + CTRL + F1, because I’m new user to LINUX how can I know User and the login password?
I just want to know password for whenever i click on the network, i have to enter a password to continue the next command. n I don’t understand why it kept prompt the command to enter the pass. thanks
It doesn’t show you typing in the password. You just type it in correctly and press ENTER
hi
useradd u1
passwd u1
Go to linux rescue mode (single user mode) at the boot prompt when the linux image is loaded and reset your password through the prompt.
Hey, i want to set my password so that when my linux laptop starts up, my account name comes up and i have to type my password in so that others cannot access my account settings without my password. Help me please!? x
hi aloka,
to see the all user name use following command to see all user entries
tail /etc/passwd and to see passwords use tail /etc/shadow but password encrypted by using MD5 algorithms if you know cryptography and MD5 algorith then you can get your password and also log in as a root and use command
passwd also u can get ur password
Hi
As a root user I want to reset lost of passwords and want to set each users password with a single command i.e. not have to be asked to type passwords afterwords. So the command needs to include the new password and not require the old one.
Help would be greatly appreciated
How can I change the root password while I’m only a user of it? Please reply me, as fast as can be.
Varun use sudo su
use your user pass
then run passwd
if your user account dont have privlages enough to run as su, your sol.
AeSix, Don’t you know how can I get or reset password of another user if i am user with limited privilages?! help please….
Hi,
how can i set an UNSECURE password? During installation process i’m able to set an unsecure password, but it isn’t possible once the system is installed. I know it’s a bad
practice, but i really need to do it.
Anyone?
Thanks.
Try logging in as root or using $ sudo passwd username
There you can set whichever password you want, which might not be the case when you run the passwd command as a user.
i ,m forget passwd then i can do
if u r using personal computer then login as root and change the user password like
passwd
or inform ur administrator(root/superuser) as soon
I am using Cant OS 5.2 with DC & BDC, pls advise if any tool available to monitor it easily from nework.
hello,can u help me out to find out hw to change the passwd wen previous passwd has been forgotten ??????? u have suggested somebody to go to the rescue mode what dose it mean ,plz describe whole procedure in detail! thanks in anticipation!~
is there anyway to READ the password of user instead of reset it if I have root access?
@Charlie Seah Kam Fei , short answer, NO.
Any files in Linux support that? Thanks in advance
I want to know how to know d previos password of d super user…how can it be done??
or change d password of d superuser without having to know d previous one…is dis possible??
Any help will be greately appritiated…
Helpful. Thanks.
when it says type unix password it doesnt let me type what can i do
It doesn’t show you a caret but just type ahead. Unix terminals work like that when asking for passwords. Supposedly it’s intended to prevent those looking over your shoulder from seeing how long your password is.
thank you that helped
hello,
i have created 70 users in Ubuntu using following shell script,
#!/bin/sh
for i in $(seq 1 70)
do
useradd -d/home/te$i -m te$i
done
Now i want to set default password say “xyz” to all 70 users (te1 to te70).
How can I do so?
thnx in advance
#!/bin/sh
for i in $(seq 1 70)
do
useradd -d/home/te$i -m te$i
echo $i:xyz | chpasswd
chage -d 0 $i
done
Notice the echo line? You should also set the line after, which tells users to change their password when they login. You can remove this if you wish.
I m dr nandinee in maharastra forgoten my password plz help me
hello nandini which flavour r u using…..
Hi Karthi, It’s not important what flavor to use…
The good flavor comes from the questioner, I need to add your flavor…
Can you please contact me for the purpose of cooking you in order to extract your flavor?
set the password by using passwd command how to do in shell scripting
Hi,
Thanks for the information. Could you please help me how to create virtual screens like tty/8 ty/9 etc.
Thanks in advance
hi!
I am satish. I am student of computer science & I have linux on my machine.
i forgotten the username & password of it.
can u help me for this for changing the username & password.
plz help me.
hi
i forgot the forgot to enter into my linux os…. can u help me how to reset it….
How a user is able to change his own password /etc/shadow file when he doesn’t have even read permission on it?
im lock out of my laptop and i forget the password any suggestions?
Dear sir,
How to configure password should not contain user’s name / user id in redhat5
if normal user can’t read /etc/shadow file then how will they reset own password.
do any version of linux support this?
Yes
is it the same on all version of linux?
i need a script that can change ALL Redhat Linux (CentOS) email accounts at once to one password.
Which file should I check in centos5 or rhel 5 for commenting out the password history so that I can keep on continuing using same password to login to the server?
ya its very nice……….. and easy to understand
How can be changing your password in LINUX
You need to be logged in, I hope you have your current password, if not then get a local administrator to help you change your current. If you CAN log in, the process is simple, enter the following command at the prompt:
passwd
Then you will be asked for a new password. Enter that, hit return, then it will ask you again for the password (usually it will say re-enter)… enter the same exact password that you just did, and that will change your password. NOTE that some systems require you to use a combination of characters, numbers, upper case, and non alpha-numeric characters. I would stay away from the “#” sign. On some really old systems that is used for backspace. :)
Thank you very much!
Hello dear,
i need to add active user in single command line.
when i add user like useradd username -pPWD. but i cant log into linux using new username and password. please help me..
Thank You
Whenever I enter the new password all I get is authentication token manipulation error password unchanged. What am I doing wrong?
1. Boot the system and when you see the following message “Press any key to enter the menu”, press any key. (You will see the list of available kernel versions.)
2. Press e in order to edit commands before booting.
3. Highlight the list item with vmlinuz in it by using the arrow keys and press e.
4. Now type single or init 1 at the end of the line.
5. Then press enter and b to boot the system with the new argument. (The system will boot into single user mode and you will see bash prompt)
Now it’s time to change the password:
6. Type passwd
7. Reboot system
Forgot to Add:
To Reset forgotten root password on CentOS/Red Hat
This works for me..Thanks.
thanks!!!
How to create a password and change password of a user account in VPN.
help help
i have password changed, and i have logged without problems, after login is this problem
this is from root after login
login as: root
root@84.115.136.191‘s password:
Last login: Sun Oct 12 01:24:10 2014 from che…123456789ipad01.3.g……s….at
Changing finger information for root.
Name [Albin Troja]:
Office [albabin@l….de]:
Office Phone [0676123456789]:
Home Phone [0316010101010]:
and closed automatically, please help me.
Hi. hw can I write a linux over older linux??
HI
i have problem with root mode when i log in and enter password the Linux say
AUTHENTICATION FAILED
what should i do and how the password i found it and change it .??
Cool tutorial, but how to set a superuser password?
I have no password set, so what do I put in when it asks for what my password is now? And it won’t even let me type in the space provided!
@Jake, to set a password for a user when you forgot to do type:
passwd heretheusername , then it will ask to set a password (confirm it by re-typing)
how to set default password for user in Linux ??
i have to set password for terminal in linux when open terminal through graphically or by shortcut key please give me suggession for this and do this by command
A nice simple article Vivek, but the problem as it seems are the ppl who can’t read :) Maybe you should ask if you need to chew also for them when they want to eat, joking.
i forgot the password of my Linux vmuser. what can i do ?
thank you :)
wonderful page. It helped me beautifully.
i did try this passwd command and it said token error. PLZ help me . i just set up my linux comp. too. and i dont want my password to be set to what they gave me
Hi,
I have just added one user using command useradd. But when i try to set the password its asking for current password.Please help. Thanks
Thanks for the tutorial, really helped me a lot !