Help! root can’t login on Linux December 1, 2010Posted by Tournas Dimitrios in Linux.
I occasionally see the post Help! root can’t login on some of the discussion boards around the net. Generally this is for two reasons. Either the account has expired or a forgotten password.
The forgotten password is straightforward to fix. When booting the machine enter the grub menu. Your default kernel should already be highlighted. Press e which will bring you to a screen with the three lines for that kernel that are in the grub.conf. Highlight the one titled kernel and press e again.
This will open up that line for editing. Move to the end of the line and type s and then hit enter. Now type b for that kernel to boot. This will put you into single user mode.
Once the machine has booted into single user mode you may change root’s password using the normal passwd command.
Having root’s account account expired is a little more complicatedb is still straightforward. Once again boot into single user mode as describe above. We will use the chage command to fix root’s account.
If you issue:
[root@centos5 ~]# chage –help
Usage: chage [options] user
|-d||lastday LAST_DAY set last password change to LAST_DAY|
|-E||expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE|
|-h||help display this help message and exit|
|-I||inactive INACTIVE set password inactive after expiration
|-l||list show account aging information|
|-m||mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
|-M||maxdays MAX_DAYS set maximim number of days before password
change to MAX_DAYS
|-W||warndays WARN_DAYS set expiration warning days to WARN_DAYS|
The two comands that we are interested in here are : chage -l and chage -E
chage -l root will list root’s user account so that we can confirm that it is expired. We want to set the account so that it will not expire. use chage -E -1 root to accomplish this.
chage -l root
Account expires : Nov 07, 2008 #The account expires line is what you want to check
chage -E -1 root
chage -l root
Account expires : never # Now we have solved our problem of the root account expiring
There you go. Now you should be able to fix root’s account if you accidentally make a mistake with it.