Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. +++
  2. author = "Simon"
  3. date = 2017-11-09T08:12:00+01:00
  4. tags = ["Linux", "Arch"]
  5. title = "Arch Linux: Kein Login auf tty möglich"
  6. draft = false
  7. +++
  8.  
  9. Ich hatte kürzlich einen seltsamen Bug: Obwohl mein Computer normal startete, einen X-Server starten konnte, und ich ganz normal mit ihm arbeiten konnte, war ein Login auf einem anderen tty ohne X nicht möglich. Mein Passwort wurde schlichtweg abgelehnt. Keymap war aber in Ordnung, und das Passwort definitiv das richtige (Ändern des Passwortes auf der grafischen Oberfläche, und dann ein neuer Login-Versuch schlugen auch fehl).
  10.  
  11. Nach ein bisschen herumbasteln hatte ich das Problem identifiziert, und schnell die Lösung: In meinem `$PATH` war `/usr/bin` vor `/bin`. Ich hatte in letzter Zeit ein bisschen mit verschiedenen Shells herumexperimentiert, und wollte wieder zu meinem Standardsetup zurück: Eine fish, die aus Gründen (z.B. keiner POSIX-Kompatibilität, was als Default-Shell z.B. von `ssh-copy-id` nicht akzeptiert wird) von der bash über einen Eintrag in der `.bashrc` gestartet wird. Ich habe also den Pfad zur bash mit `which bash` nachgesehen und bekam `/usr/bin/bash` zurück, sodass ich meine Shell auf `/usr/bin/bash` eingestellt habe.
  12.  
  13. Zum einen scheint `/usr/bin` aber nur ein Symlink auf `/bin` zu sein (sieht bei mir nicht danach aus, aber das Internet behauptet es), zum anderen war `/usr/bin/bash` nicht in der `/etc/shells` aufgelistet. Dies hat mir `chsh` auch mitgeteilt, aber ich hatte es ignoriert, da ich die Zusammenhänge nicht kannte.
  14.  
  15. Auf jeden Fall hatte ich bei mir also eine Login-Shell eingetragen, die laut Richtlinie gar nicht erlaubt war. Deswegen hat `/bin/login` den Loginvorgang einfach abgebrochen. Es gibt hierfür also 2 Lösungen:
  16.  
  17. 1. `/usr/bin/bash` in die `/etc/shells` eintragen - das ist aber unüblich, da die bash ja eigentlich schon einen Eintrag hat.
  18. 2. `/bin/bash` als Shell setzen. Und ggf prüfen, wieso `/usr/bin` im Pfad vorher auftaucht.
  19.  
  20. Nun, da ich wieder eine erlaubte Shell habe, klappt auch der Login auf einem tty.
  21.  
  22. Merke: Nur mit Shells, die auch in der `/etc/shells` stehen ist ein tty-Login möglich - auch wenn ein grafischer Login weiterhin funktioniert.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement