Also ich sehe folgende Probleme/Ursachen das root sich nicht anmelden kann am TTY.
Es sind einige Konfigurationen verändert, die das Einloggen betreffen und speziell momentan für den Root-Account wichtig sind. Ich gehe jetzt einfach mal davon aus daß diese Änderungen aus Versuchen herrühren das Login wieder ans Laufen zu kriegen, diese aber eher kontraproduktiv sind.
Wir werden jetzt folgendes machen:
a) bisherige Änderungen sichern (als .bak_bad)
b) Konfigurationen wieder durch ihr original ersetzen (*.pacnew)
c) den Root-Account reparieren
d) bestimmte Pakete reinstallieren bei denen Dateien verändert sind (keine Configurationen, sondern reale Daeien)
//Edit: Wenn an irgendeinem Punkt ein Problem/Fehler auftritt, stoppen und den Fehler posten.
Das erste betrifft pambase:
cp -ar /etc/pam.d/ /etc/pam.d.bak_bad/
mv /etc/pam.d/other.pacnew /etc/pam.d/other
mv /etc/pam.d/system-auth.pacnew /etc/pam.d/system-auth
mv /etc/pam.d/system-local-login.pacnew /etc/pam.d/system-local-login
mv /etc/pam.d/system-login.pacnew /etc/pam.d/system-login
mv /etc/pam.d/system-remote-login.pacnew /etc/pam.d/system-remote-login
mv /etc/pam.d/system-services.pacnew /etc/pam.d/system-services
Dann systemd:
cp /etc/systemd/logind.conf /etc/systemd/logind.conf.bak_bad
mv /etc/systemd/logind.conf.pacnew /etc/systemd/logind.conf
Folgende Pakete haben modifizierte Dateien :
shadow: 576 total files, 1 altered file
util-linux: 1335 total files, 8 altered files
bash: 270 total files, 1 altered file
Die reinstallieren wir.
pacman -U /var/cache/pacman/pkg/shadow-4.18.0-1.1-x86_64_v4.pkg.tar.zst
pacman -U /var/cache/pacman/pkg/util-linux-2.41.3-2.1-x86_64_v4.pkg.tar.zst
pacman -U /var/cache/pacman/pkg/bash-5.3.9-2-x86_64_v4.pkg.tar.zst
Weiterhin zum Root-Account selbst:
- root hat scheinbar aktuell kein Passwort gesetzt(zumindest nach userdbctl in dieser Umgebung, deine shadow will ich jetzt nicht abfragen)
- root sollte aus Sicherheitsgründen keine andere Shell als sh haben, was unter Archlinux/Cachy(?) die bash ist. Und es gibt einen Unterschied zur Shell die root in der passwd definiert hat (fish) und dem was userdbctl sagt. Deshalb setzen wir die Shell auf die bash shell.
Wir ändern:
Shell:
chsh -s /usr/bin/bash root
Passwort (neues Passwort für root, nimm temporär eines was du mit der aktuellen keyboard Einstellung auch eingeben kannst, z.B. "test123". Du kannst das später, nachdem root sich wieder richtig einloggen kann wieder ändern zu deinem gewohnten Root-Paßwort. passwd erfordert eine zweimalige "Blind"-Eingabe):
passwd
Nach obigen Änderungen (vor einem Reboot/Login-Versuch) nochmal posten:
find /etc -name *.pacnew
pacman -Qkk pambase shadow util-linux bash | curl -F 'file=@-' 0x0.st
//Edit: find Aufruf korrigiert
Jetzt boote das System und versuche einen Login an einem TTY für den User root.
//Edit: Mit dem neu gesetzten Passwort von oben.
Funktioniert das nun?
Wenn nein, dann bitte wieder ein komplettes Bootjournal von diesem Boot nach 0x0.st stellen.
Wenn ja, dann kannst du auch mal einen Versuch mit deinem Normaluser machen. Also nur testen, ob sich der auch am TTY anmelden kann.