[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: login-Passwort: Unicode vs. Latin1



Andreas Kroschel wrote:
> * Nikolaus Schulz:
> 
> > Hm, ja, okay. Aber wer sagt, daß die Codierung 1:1 in der internen
> > Datenbank (d.h. /etc/shadow) abgelegt wird?  Sollte man nicht ein
> > generisches internes Format erwarten, sowas wie wchar_t oder eben eine
> > Unicode-Variante?
> 
> Schau mal in die /etc/shadow hinein, da liegen nur verschlüsselte Werte, und
> die als ascii. 

Naja, die Eigenheiten von MD5 und Consorten lassen wir mal außen vor --
oder spielt das in diesem Zusammenhang etwa eine Rolle? IIRC nein.

> Du müßtest also an dem Punkt ansetzen, wo Dein
> Klartext-Passwort verschlüsselt wird, d.h. den String vor dem Verschlüsseln
> generell in utf-8 umwandeln. Technisch unmöglich ist das sicherlich nicht,
> aber ich sehe es als Zukunftsmusik.

Was ist so schwierig daran, den String in ein generisches Format
umzuwandeln? Sorry wenn das 'ne doofe Frage ist, ich arbeite mich grade in
diese Sachen ein. Kann just nicht erkennen was das Problem dabei sein soll.

> >> Keine Package kann etwas dafür, wenn Du Nicht-ascii-Zeichen unter dem
> >> einen Encoding eingibst, aber unter einem anderen abrufst.
> > 
> > Das Verhalten ist /korrekt/? *schnauf*
> 
> Derzeit wäre es wohl ein wishlist-Bug, aber insbesondere auf der Console ist
> utf-8 IMHO noch nicht ausgereift genug, als daß ich Hoffnungen habe, daß
> jemand so essentielle Dinge wie das Login davon abhängig machen will. Unter
> X ist das alles ein wenig enstpannter.

Was mich doch irritiert, ist, daß ich bisher so ziemlich nirgends
Hinweise auf diese ganze Problematik gefunden habe. Bin ich nur dran
vorbeigestolpert?  Wenn es so u.a. möglich ist, sich schnell und
schmerzlos aus dem System auszusperren (auch als root!), dann verdient
das m.E. einen warnenden Hinweis. Wo auch immer :-)

Der Auslöser für meine Versuche mit Locales ist übrigens Bug #220657
(libxf86config schreibt lokalisierte XF86Config-4). Zu meiner
Verwunderung finde ich auch nirgends etwas zur Codierung von
Konfigurationsdateien. Offensichtlich werden die als ASCII-kompatibel
vorausgesetzt, aber warum steht das nicht z.B. in der Debian Policy?
Weil's so sonnenklar ist, oder wieso? Ich bin echt irritiert.

> > Gehe ich richtig in der Annahme, daß der Zeichensatz, mit dem die Console
> > beim Login arbeitet, nicht vom Locale des jeweiligen Benutzers abhängig
> > ist? (Kennt jemand (empfehlenswerte,existierende) Dokumentation dazu?) --
> 
> Eine system-locale gilt auch beim login. Nur weiß ich aus dem Kopf gerade
> nicht, ob da schon /etc/environment eingelesen wurde.

Das console-tools-initscript fummelt jedenfalls in diesem Bereich rum.

So ganz begreife ich die Magik von Locales und das Zusammenspiel aller
beteiligten Komponenten --Tastaturtreiber, glibc, Locales, ggf. X11/XKB, was
vergessen?-- aber noch nicht. :-/
Gibts dazu einen netten Überblick? Die Betonung liegt auf "Zusammenspiel". 

> > Dann müßte dieser doch nur z.B. unter X mit einem inkompatiblen Locale ein
> > Paßwort eingeben und er kann sich auf Console nicht mehr einloggen.
> > Falsch?
> 
> Spitzfindig gesagt, wenn er auf der Console die Bytes eingibt, die Du unter
> einer anderen locale festgelegt hast, kann er sich durchaus einloggen.
> Bereits ausgedruckte Unicode- und ascii-Tabellen sind dabei sicherlich von
> Vorteil, um von Hand umrechnen zu können.

Der User guckt also in die Röhre? Zwangsläufig? Wenn das so ist:
kann man das irgendwo nachlesen?


Nikolaus



Reply to: