Can't log in anymore

Hi everyone, writing from my phone because I got locked out.

I updated, then rebooted as usual, but now I can’t log in anymore. It seems like my password isn’t accepted anymore. I seem to have 2 attempts, but after the 2nd attempt it says 'got : Pam response {} and then prints my password in plain text.

What I read just now was that I should have cleaned up .pacsave files

What I have tried just now was reboot into rescue mode and then check the contents of /etc/pam.d

There was a polkit-1.pacsave file. I moved it (to a subfolder in my homedir, as a back up)

It didn’t help, so I assume that’s not how to deal with this issue.

Can someone help me and point me into the right direction?

You could try logging in on a TTY (assuming that’ll work), then run:

journalctl --follow | more

Now try logging into your graphical session and see if any helpful messages appear.

4 Likes

through tty worked (already figured it moments after my last post)

was just reading more about this and came across this one-liner to find .pacsave and .pacnew files:

sudo find /etc -name '*.pacnew' -o -name '*.pacsave' 

my output looks like this:

/etc/pacman.conf.pacnew
/etc/mkinitcpio.conf.pacnew
/etc/passwd.pacnew
/etc/default/grub.pacnew
/etc/locale.gen.pacnew
/etc/shells.pacnew

I guess I never cleaned that mess up. Just wondering if the passwd.pacnew file is responsible for the problem.

Should I back up the regular passwd file and rename passwd.pacnew -> passwd ? would that do the trick?

Boot up from the Manjaro live USB, open up a terminal window, and type the following command… :point_down:

sudo su -

Now, depending on whether your system uses an encrypted root volume or not an extra step may be required…

1. If your root filesystem is encrypted…

… then you must first open the container. I’m assuming that you’ll know how to do that. Hint…: :point_down:

man cryptsetup

2. If your system is not encrypted, or it is encrypted but you’ve opened the container…

… then issue the following command, assuming that /dev/sda2 is the device special file for your root filesystem — change this into what’s appropriate… :point_down:

mount -t ext4 /dev/sda2 /mnt

If you’re on btrfs, the command is slightly different… :point_down:

mount -t btrfs -o subvol=@ /dev/sda2 /mnt

Now, look at the file /mnt/etc/shells and make sure that your shell is listed in there. There was an issue a (long) while ago with the .pacnew file, in which /bin/zsh and /usr/bin/zsh were omitted from the file. Without a shell, you cannot log in.

If the entries are indeed missing, edit the file with nano, save it, and reboot.

1 Like

No.
And:
better do not even touch that - or be very, very careful when trying to merge the new one with the existing one.
In the new one, there is just default values.
Same goes for the other .pacnew files - new default values, perhaps some new options or different syntax.

4 Likes

I’ve had this happen a couple of times and fixed it via a Live Session:

manjaro-chroot -a
passwd *your-username*

Note that in my case I couldn’t log in to a TTY either.

ETA: I see from OP’s profile they are using Sway, which I have no experience with, so I’ll bow out at this point. :wink:

1 Like

But he can log in on TTY - the passwd is o.k.

1 Like