[1835] in Kerberos

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

some v4 mods to v5 new-telnet

daemon@ATHENA.MIT.EDU (Alan Crosswell)
Thu Mar 26 02:48:19 1992

Date: 26 Mar 92 04:00:02 GMT
From: alan@cunixf.cc.columbia.edu (Alan Crosswell)
To: kerberos@shelby.Stanford.EDU


As mentioned earlier today, I've made some v4 modifications to the
Kerberized 4.4BSD telnet that comes with the Kerberos v5 distribution.
A couple of people responded saying they'd like to see the mods, so
you are welcome to anonymous ftp to cunixf.cc.columbia.edu and look
in kerberos/.  Here's the readme:

krb-new-telnet.diffs contains context diffs for the Kerberos v5
distributed src/appl/new-telnet/ which is a Kerberized version of
4.4BSD telnet and telnetd.  Our changes have only been tested
minimally with Kerberos *V4* but seem to work.  The changes are:

- ./Makefile: fix omission of Config.local
- change the telnetd "-a auth_level" semantics so that "-a known" means the
  certificate must be for a valid unix user (via kuserok) and
  "-a user" must be for a valid kerberos user but does not need
  to be a valid unix user. (see libtelnet/auth.h)
- add "-p server_principal" switch to name the principal name to
  use for the service rather than the default of "rcmd."  This is
  for telnetd and telnet.
- add "-L login_program" switch to name the /bin/login replacement
  to exec. telnetd.
- add "-i instance" to name instance in addition to null that the telnetd
  will accept.
- correct spelling of "challenge."

How we use this:

In inetd.conf on host foo we have a line like this:

sample	stream	tcp	nowait	root	/usr/local/etc/sample-sh telnetd

(and sample is defined as some port number in /etc/services).

/usr/local/etc/sample-sh exists simply because we learned the hard way
that many inetds only handle 5 args and silently ignore any additional ones:

#!/bin/sh
# Because Inetd has a maximum of 5 cmd line arguments!!
exec /usr/local/etc/ktelnetd -a user -L /usr/local/etc/sample -p demo -i simple

/usr/local/etc/sample is a program that replaces /bin/login since we
aren't logging the person in to do unix but are just running some canned
program for them.

On the client host, we get a TGT for a principal with an instance of "simple"
(e.g myname.simple) and then do a

	telnet -l myname.simple -p demo foo sample

which says login as "username.simple" getting a "demo.foo" service
ticket, connecting to host foo on port sample.  Oh yeah, don't forget
to create the demo.foo entry and do an ext_srvtab!

This is used for various tty-based "text services."  You just telnet
to some host and some oddball port number and one of these suckers
fires up.  You gotta do something while waiting for DCE:-)

Alan Crosswell
Columbia University Academic Information Systems
alan@columbia.edu

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