Keresgéltem a témát, de nem leltem ilyet.
A megfigyelt érdekesség az, hogy ha kedves user megad nagybetut is tartalmazo jelszot, ahol a nagybetukhoz a shift-et hasznalja a nagybetu eloallitasahoz, es loginol, akkor csak akkor sikeres az auth, ha ismet shift-et hasznal. Ha caps lockot, akkor nem.
Pl.
passwd user -re gepeli a kovetkezot:
SHIFT-u s e SHIFT-r SHIFT-k e
("UseRKe") meg ugye megegyszer ugyanigy, akkor sikeres a passwd-change.
aztan loginol, a jelszot igy gepelve:
SHIFT-u s e SHIFT-r SHIFT-k e
("UseRKe") erre sikeresen belep
aztan loginol, a jelszot igy gepelve:
caps-on u caps-off s e caps-on r k caps-off e
("UseRKe") erre viszont fail.
Mi ennek az oka?
Mivel ez nem problema, igazabol csak azert erdekel, hogy megertsem a folyamatot.
- 1454 megtekintés
Hozzászólások
up
- A hozzászóláshoz be kell jelentkezni
(h)up
- A hozzászóláshoz be kell jelentkezni
Akkor maskepp kerdezem: masnal is igy van, vagy csak nalam nem ugyanaz a C es a C ?
Ez bug, vagy tervezett?
- A hozzászóláshoz be kell jelentkezni
Most nem tudom kipróbálni, mert nem vagyok Linux konzol közelében. Könnyen lehet, hogy függ a használt login progitól, tehát érdekes lehet hogy milyen disztribed van.
Egyszer régen, nagyon régen, amikor a Unix született, akkor voltak a világban olyan terminálok, melyek csak nagybetűt ismertek. Ha belépéskor csupa nagybetűvel írtad be a neved, akkor a Unix olyan módba váltott, ahol a bejövő nagybetűket mind kicsivé alakította, a kimenő kicsiket meg mind naggyá. A képesség még a mai Linuxokban is megvan (nézz körül az stty opciói körül), és talán még a mai getty progik is élnek vele.
Persze ettől még szerintem a Shift és a Caps Lock ugyanazt kell hogy csinálja, de elképzelhető, hogy egy bug vagy feature miatt mégsem.
Én először kipróbálnám, hogy másmilyen jelszókérő progival is reprodukálható-e a hiba (például ssh). Ha igen, akkor a következő kérdés, hogy grafikus terminálban is így van-e. Ha igen, akkor talán ott könnyebb debugolni, hogy mi is történik.
Ha ssh-val nem reprodukálható, akkor azt csinálnám, hogy a tty1-en fut a jelszókérő (login, avagy ssh), tty2-n pedig az "stty -a < /dev/tty1" (balra kacsacsőrrel) kiírja a tty1 beállításait, a kétfajta kimenet közti különbségeket érdemes megnézni. Az egyetlen tippem, hogy az iuclc eltér, és valszeg a kernelben furán van implementálva, hogy a Shift figyelmen kívül hagyja, de a Caps Lock figyelembe veszi ezt a beállítást.
Ha nem nyert a tippem, akkor érdemes lehet újrafordítani a login progit, belerakva valami kiskaput, hogy a jelszó ellenőrzése előtt azt kiírja.
- A hozzászóláshoz be kell jelentkezni
Mivel a login prompt nem mutatja meg neked, mit irsz be, lehet, hogy pl. caps lockra nem is lesz nagybetu.
Ugye kesobb a terminal emulatorod kezeli le, hogy pl. a caps lock nagybetut jelent (ugye a caps lock nem ugyanaz, mint a shift, pl. a szam billentyuknel szamot kapok, nem ugy, mintha a shiftet nyomnam)
mivel a login program (illetve elso esetben meg a getty) sajat maga kezeli az inputot (hiszen meg nem fut terminalemulator), ezert fene tudja, hogy eppen o mit gondolt oda.
Lehet, hogy a getty-bol, login-bol pl. hianyzik a caps lock kezeles, vagyis caps lockkal is csak siman kisbetuket irtal.
G
- A hozzászóláshoz be kell jelentkezni
Gee: "Lehet, hogy a getty-bol, login-bol pl. hianyzik a caps lock kezeles, vagyis caps lockkal is csak siman kisbetuket irtal."
Ez vajon tekintheto bug-nak?
- A hozzászóláshoz be kell jelentkezni
> mivel a login program (illetve elso esetben meg a getty) sajat maga kezeli az inputot (hiszen meg nem fut terminalemulator)
Ez így nem igaz, a terminál (/dev/tty1 vagy ilyesmi) már ezek alatt is ott van, maximum játszadoznak ezek a progik a terminál beállításával (pl. echo kikapcsolása a jelszóhoz). A beállított bill.kiosztás is működik rájuk például. (Ezért nem értem a bugot egyáltalán.)
pezo: Mi történik, ha a felhasználónak csupa kisbetűs jelszava van, de némelyik betűt Caps Lockkal nagybetűként írod be? Ha beengedi, akkor valami miatt a Caps Lock nem jut érvényre. Ha nem engedi be, akkor még rejtélyesebb, hogy mi történik (ez esetben igazán jó volna látni, hogy mi is az a jelszó, amit leellenőriz).
- A hozzászóláshoz be kell jelentkezni
Egmont: "Mi történik, ha a felhasználónak csupa kisbetűs jelszava van, de némelyik betűt Caps Lockkal nagybetűként írod be?"
Egmont: "Ha nem engedi be, akkor még rejtélyesebb, hogy mi történik (ez esetben igazán jó volna látni, hogy mi is az a jelszó, amit leellenőriz)."
az user neve teszt volt, es a jelszava szinten "teszt" volt.
A jelszot a kovetkezokeppen irkaltam be:
teszt - sikeres belepes
CAPS teszt CAPS - sikertelen belepes
te CAPS s CAPS zt - sikertelen belepes
CAPS TESZT CAPS (tehat shift-tel a caps bekapcsolasa utan) - sikertelen belepes
Szoval meg relytelyesebb, fentebb meg leirtam a jelszot, amit jo lenne tudni.
Probaltam ssh-n is, egyik terminalon belepve mas user2-vel, es ott kiadva a "su teszt" parancsot, hasonlo volt az eredmeny. Meg azt is kiprobaltam ez esetben, hogy elobb CAPS, majd a historybol kikeresve a parancsot inditottam a su-t, (tehat a jelszokeresnel mar be volt kapcsolva a CAPS), es sem "teszt" sem "TESZT"(shifttel), sem "teszt CAPS" sem "TESZT CAPS" begepelese nem volt sikeres setuser folyamat.
A putty-bol ssh-zva teljesen korrekt: ha "CAPS TESZT" -et gepelek, akkor sikeres a login (vagy a su), ilyenkor "teszt"-nek veszi a gepelest, de ugye ez esetben a bill kezeleset a windows vegzi.
Na most akkor mi van?
- A hozzászóláshoz be kell jelentkezni
Egyre rejtélyesebb... lövésem sincs, hogy mi történik. Tök jó lenne ott lenni a gépednél és utánajárni, nagyon kíváncsivá tettél. :-)
Az stty kimenetét megnézted már?
Esetleg megpróbálhatnál ltrace-szel csatlakozni a jelszót kérő/ellenőrző progihoz (aminek általában login a neve).
root-ként másik ablakból "ltrace -p 12345 -o outputfile" ahol az 12345 az a már futó és jelszót váró login progi pid-je.
- A hozzászóláshoz be kell jelentkezni
BBcode-bol nem vagyok jo, a balra kacsacsoromet nehany azt koveto dologgal egyutt lenyelte.
Helyette irok @@-ot.
lucky:/home/pezo77# stty -a @@/dev/tty2 #su nelkul, user2-logged-in allapotban
speed 38400 baud; rows 30; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke
lucky:/home/pezo77# stty -a @@/dev/tty2 #suval
speed 38400 baud; rows 30; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke
Az ltrace kicsit hosszu. Hup-on el tudom helyezni, vagy mashova pakoljam fel?
- A hozzászóláshoz be kell jelentkezni
stty: ez a "su nélkül" és "suval" nem egyértelmű számomra hogy mit is jelent, vagy én nem voltam elég világos hogy mi is érdekelne. Igazából a login közben lévő jelszókérő állapotot kéne összehasonlítani egy su vagy ssh jelszókérő állapotával. Mellesleg ha itt, Linux konzol alól su-zol vagy ssh-zol, akkor is megvan a capslock bibi, vagy akkor jó?
ltrace: igazából a jelszóra kellene rákeresni, hogy benne van-e, és ha igen, akkor milyen betűmérettel.
- A hozzászóláshoz be kell jelentkezni
pezo: "Probaltam ssh-n is, egyik terminalon belepve mas user2-vel, es ott kiadva a "su teszt" parancsot, hasonlo volt az eredmeny. Meg azt is kiprobaltam ez esetben, hogy elobb CAPS, majd a historybol kikeresve a parancsot inditottam a su-t, (tehat a jelszokeresnel mar be volt kapcsolva a CAPS), es sem "teszt" sem "TESZT"(shifttel), sem "teszt CAPS" sem "TESZT CAPS" begepelese nem volt sikeres setuser folyamat."
Tehat: a prolema egy egyszeru su-nal is fenn all, es epp egy ilyen stty-rol kuldtem anyagot.
- A hozzászóláshoz be kell jelentkezni
Figyelmetlen voltam, bocsi!
- A hozzászóláshoz be kell jelentkezni
Na ugye a gond ezzel az, hogy az user es a jelszo ugyanaz.
Mindjart generalok kulonbozot, es jelentek!
- A hozzászóláshoz be kell jelentkezni
Nos, az ltrace kimeneteben nem szerepel a jelszo, vagy annak legalább 2 betus toredeke, csak mas jellegu, ertelmes szoveg reszekent.
(=nincs benne a jelszo se igy, se ugy).
- A hozzászóláshoz be kell jelentkezni
mukodik egyaltalan a shift gomb?
- A hozzászóláshoz be kell jelentkezni
nem egy gepen, debian rendszerekkel (etch) mindenhol hozza....
- A hozzászóláshoz be kell jelentkezni
Hi!
Nalam rendesen mukodik. (agetty, Archlinux, sbin/agetty is owned by util-linux-ng 2.13-1)
By(t)e
TBS::Antiemes
- A hozzászóláshoz be kell jelentkezni