[1687] in Kerberos

home help back first fref pref prev next nref lref last post

Understanding "-a auth_level" in Kerberized 4.4 telnetd

daemon@ATHENA.MIT.EDU (Alan Crosswell)
Fri Dec 27 19:21:09 1991

Date: 27 Dec 91 23:37:37 GMT
From: alan@curta.cc.columbia.edu (Alan Crosswell)
To: kerberos@shelby.Stanford.EDU

I'm trying to understand the meaning of the "-a" switch to the telnetd  
that comes with v5.  The choices are: none, other, user, valid, and off.   
Could someone point me to documentation of the intent of this stuff?  I  
seem to be missing it -- the telnetd.8 man page isn't updated and I can't  
find a README or anything that explains it exactly.  The RFC draft talks  
about what the protocol needs to pass authentication back and forth and  
not what these options mean from the Unix perspective.

I'm trying to do something a little bit odd, namely provide a "text  
service" (access to a licensed database) for users who have authenticated  
themselves on some host.  The "text service" is just a copy of telnetd  
running on an oddball port on some other host:

medline stream  tcp     nowait  /usr/local/etc/ktelnetd telnetd -a user -L  
/usr/local/etc/medfront

And I've modified telnetd to exec the program named after the -L switch in  
place of /bin/login.  Basically, if they telnet to port 'medline' on this  
host, then medfront will run (all this telnetting to odd ports is hidden  
inside a menu, so they just hit a "3" or something...).  The idea is that  
now that they've authenticated (with kerberos v4 currently) and if they  
are authorized to use the system according to rules I have in my  
/bin/login-replacement, then I want to let them in.  There are something  
like 20,000 potential users, none of whom have actual login accounts on  
the system running telnetd.  So, I figured '-a other' would do the trick  
and pass the authenticated principal's name along to my program just like  
it does to /bin/login (with -f username).  Unfortunately, it looks like  
the telnetd code does a "kuserok," thereby preventing this access since  
there is no such userid in the password file.  I would have though that it  
would be /bin/login's problem to verify the existence of the user and  
telnetd's problem just to pass /bin/login an authenticated principal  
name....  Am I missing something?  Would I really screw things up if I  
removed the call to kuserok()?  Mostly I need a little help deciphering  
these auth_levels.  Thanks!

/a

home help back first fref pref prev next nref lref last post