[linux] Re:mgetty

Pavol Drabb Pavol.Drabb na tuke.sk
Čtvrtek Říjen 4 10:55:43 CEST 2001


Pre tych,ktori budu tiez rozmyslat tak dlho ako ja ,ako pracuje mgetty,
odpovedam sam.
Mozno tak pracuje a ak nie ,tak by tak malo.
Modelovy priklad :
------------------------------------
mame clienta ,ktory sa prihlasuje cez login a password a overuje sa cez
pap.
Takze na strane klienta mame $LOGIN a $PASSWORD a este niekde na
disku,alebo v ROM-ke alebo hocikde ako je to urcene zariadenim ,ktore
pouzivame , subor/ppp /pap-secrets.client a v nom $NAME1 a $SECRET1.
-----------------------------------

Na strane servera ,teda mgettyho mame a v subore
/etc/mgetty/login.config riadok:

$username       $ userid               $utmp_entry            $
login_program [arguments]

a este v subore /etc/ppp/pap-secrets riadok:

$name          $server          $secret       $ip

ktory povodne znamenal (tu mala odbocka)

$name=$clientname = domainove meno stroja klienta
$server=$servername= domainove meno stroja servra
$secrets= heslo na overovanie pomocou pap
$ip = ip adresa klienta z ktorej sa mohol hlasit,alebo rozsah ip adries
z ktorej sa mohol klient hlasit

a robil to ,ze na nas server s menom $server sa mohol hlasit hocikto zo
stroja s menom $clientname pomocou hesla$secret
a z adresy stroja $ip.Ak  $clientname = *  znamena hociake
meno,prihlasit sa moze kazdy s hociakym nemom,$clientname= - ziadne
meno,nemoze sa prihlasit nikto nech by mal sebelepsie meno.
Takisto $servername = * hociake meno a - ziadne meno
Takisto $ip =* hociaka ip adresa  a - ziadna ip adresa

Teraz vsak sa prijalo riesenie trocha inac vyuzivat pap a kedze pri
overovani cez pap sa porovnavaju dva subory/ pap-secrets
(jeden na klientskej strane a druhy na serverovskej strane) domainovske
nema nie su viazane na nejaky dns takze tam moze byt v podstate cokolvek
len sa mena musia zhodovat.$clientname sa znenil na $name a $servername
na $server.Navyse sa ako $name zacal pouzivat $userid,aby sa dali
zakazat a sprispupnovat pristupy cez /etc/passwd,a to tak ,ze ked je na
$name=$userid tak potom aby $secret=/etc/passwd staci aby sme dali
$secret="".A aby sme pre $name=$useid zakazali pristup staci ak za
$secret="*" a $ip= -. No to je uz o inom,lebo by trebalo spomenut ,ze by
sme este museli spustat pppd s paramertom login.Zime v tom ze chceme
$secret!=/etc/passwd.
-----------------------------------------------------------------
Tak na strane klienta mame dva loginy $LOGIN a $NAME1 a dve hesla
$PASSWORD a $SECRET1.
Samozrejme $NAME1 a $SECRET1 nemusime nikde tukat do klavesnice ,lezia
pekne v nejakom subore /ppp/pap-secret.client na nasom klientovi.
A na strane servera mame tri loginy $USERNAME , $USERID ,$NAME2  a dve
hesla $USERID_/ETC/PASSWORD
a $SECRET2.Samozrejme ,ze $NAME2 a $SECRET2 tiez nemusime nikde tukat do
klavesnice ale pekne lezia niekde na disku v subore
/etc/ppp/pap-secret.server

Ako to funguje:
Na strane klienta aj servera si otvorime suboru /pap-secrets a
zabezpecime aby $NAME1=$NAME2 a $SECRET1=$SECRET2 ,samozrejme aj $SERVER
a $IP sa musia rovnat.
Po lopate, v /ppp/pap-secrets.client a /ppp/pap-secrets.server musime
mat  jeden riadok rovnaky.
Potom na klientskej strane vytocime spojenie automaticky alebo rucne a
vyplnime udaje $TELEFONNE_CISLO,
$LOGIN a $PASSWORD.
Mgetty porovna $LOGIN s $USERNAME a ak sa rovnaju potom zdvihne
modem.$USERNAME k nicomu inemu nesluzi.
Vsimnite si ,ze hned vedla $username v /etc/mgetty/login.config je
$USERID.Takze  mgetty automaticky spusti program login
s argumentom $USERID (takze sme ho nemuseli ani nemusime  nikde pisat) a
ako heslo na prihlasenie taktiez automaticky pouzije $PASSWORD .Potom
spusti login_program v nasom pripade /sbin/pppd a parametrom +pap.Nas
server poziada o
autentifikaciu klienta tym,ze ho poziada ,aby poslal $SECRET pre
$USERID=$NAME2.Klient vyhlada Teda v svojom
subore/ppp/pap-secrete.client polozku $NAME1=$USERID a odosle
odpovedajucu $SECRET=$SECRET1.
Sevrer potom porovna prichodzi $SECRET =$SECRET1 so $SECRET=$SECRET2 pre
$NAME 2 v sojom subore /pap/pap-secrets.server a ak sa rovnaju potom
autentifikuje spojenie.
----------------------------------------------

V poslednom case sa vedu debaty na mgetty fore a jedina rada od autora
pre win userov je otvarat terminalove okno a a
pisat loginy donho.ako vidno nic take nie je potrebne,lebo staci nam
jeden $login a $password na zrealizovanie ppp spojenia.
Cize moja skusenost je
$LOGIN=$USERNAME
$PASSWORD=$USERID_/ETC/PASSWORD.

Cize predstavy ,ze $LOGIN=$USEDID alebo dokonca $LOGIN=$NAME nie su na
mieste a rovnako
$PASSWORD!=$SECRET.
----------------------------------------------
Toto bolo pre uplnych zaciatocnikov a tak to aj berte,ale aj windowsaci
ako ja sem zabludia.







Další informace o konferenci linux