Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ttymon(1M)		System Administration Commands		    ttymon(1M)

NAME
       ttymon -	port monitor for terminal ports

SYNOPSIS
       /usr/lib/saf/ttymon

       /usr/lib/saf/ttymon  -g	[-d device]  [-h]  [-t timeout]	 [-l ttylabel]
       [-p prompt] [-m modules]	[-T termtype]

DESCRIPTION
       ttymon is a STREAMS-based TTY port monitor.  Its	function is to monitor
       ports,  to set terminal modes, baud rates, and line disciplines for the
       ports, and  to connect users or	applications  to  services  associated
       with  the  ports. Normally, ttymon is configured	 to run	under the Ser-
       vice Access Controller, sac(1M),	as part	of the	Service	Access	Facil-
       ity  (SAF).  It	is  configured using the  sacadm(1M) command. Each in-
       stance of ttymon	can monitor multiple ports. The	ports monitored	by  an
       instance	 of  ttymon are	specified in the port monitor's	administrative
       file. The administrative	file is	configured  using  the	pmadm(1M)  and
       ttyadm(1M)  commands.  When an instance of ttymon is invoked by the sac
       command,	it starts to monitor its ports.	For each  port,	 ttymon	 first
       initializes  the	line disciplines, if they are specified, and the speed
       and terminal settings. For ports	with entries in	/etc/logindevperm, de-
       vice  owner,  group and permissions are set. (See logindevperm(4).) The
       values used for initialization are taken	from the appropriate entry  in
       the TTY settings	file. This file	is maintained by the sttydefs(1M) com-
       mand. Default line disciplines on ports are usually set up by the auto-
       push(1M)	command	of the Autopush	Facility.

       ttymon then writes the prompt and waits for user	input. If the user in-
       dicates that the	speed is inappropriate by pressing the BREAK key, tty-
       mon  tries the next speed and writes the	prompt again. When valid input
       is received, ttymon interprets the per-service configuration file   for
       the  port,  if  one  exists,  creates  a	 utmpx	entry if required (see
       utmpx(4)), establishes the service environment, and  then  invokes  the
       service	 associated with the port. Valid input consists	of a string of
       at least	one non-newline	character, terminated by  a  carriage  return.
       After the service terminates,  ttymon cleans up the utmpx entry,	if one
       exists, and returns the port to its initial state.

       If autobaud is enabled for a port, ttymon will  try  to	determine  the
       baud  rate  on the port automatically.  Users must enter	a carriage re-
       turn before ttymon can recognize	the baud rate and  print  the  prompt.
       Currently,  the	baud rates that	can be determined by autobaud are 110,
       1200, 2400, 4800, and 9600.

       If a port is configured as a  bidirectional  port,  ttymon  will	 allow
       users to	connect	to a service, and, if the port is free,	will allow uu-
       cico(1M), cu(1C), or ct(1C) to use it for dialing out.  If  a  port  is
       bidirectional,  ttymon will wait	to read	a character before it prints a
       prompt.

       If the connect-on-carrier flag is set for a port, ttymon	 will  immedi-
       ately invoke the	port's associated service when a connection request is
       received. The prompt message will not be	sent.

       If a port is disabled, ttymon will not start any	service	on that	 port.
       If  a  disabled message is specified, ttymon will send out the disabled
       message when a connection request is received. If ttymon	 is  disabled,
       all ports under that instance of	ttymon will also be disabled.

SERVICE	INVOCATION
       The service ttymon invokes for a	port is	specified in the ttymon	admin-
       istrative file.	ttymon will scan the character string giving the  ser-
       vice  to	be invoked for this port, looking for a	%d or a	%% two-charac-
       ter sequence. If	%d is found, ttymon will modify	the service command to
       be  executed by replacing those two characters by the full path name of
       this port (the device name). If %% is found, they will be replaced by a
       single  %. When the service is invoked, file descriptor 0, 1, and 2 are
       opened to the port device for reading and writing. The service  is  in-
       voked with the user ID, group ID	and current home directory set to that
       of the user name	under which the	service	was  registered	 with  ttymon.
       Two  environment	 variables,  HOME and TTYPROMPT, are added to the ser-
       vice's environment by ttymon. HOME is set to the	home directory of  the
       user  name  under which the service is invoked. TTYPROMPT is set	to the
       prompt string configured	for the	service	on the port. This is  provided
       so  that	 a  service  invoked by	ttymon has a means of determining if a
       prompt was actually issued by ttymon and, if so,	what that prompt actu-
       ally was.

       See  ttyadm(1M) for options that	can be set for ports monitored by tty-
       mon under  the Service Access Controller.

SECURITY
       ttymon uses pam(3PAM) for session management.   The  PAM	 configuration
       policy,	listed through /etc/pam.conf, specifies	the modules to be used
       for ttymon. Here	is a partial pam.conf file with	entries	for ttymon us-
       ing the UNIX session management module.

       ttymon  session	 required  /usr/lib/security/pam_unix.so.1

       If  there  are  no entries for the ttymon service, then the entries for
       the "other" service will	be used.

OPTIONS
       -g    A special invocation of ttymon is provided	with  the  -g  option.
	     This  form	 of the	command	should only be called by  applications
	     that need to set the correct baud rate and	terminal settings on a
	     port  and	then connect to	login service, but that	cannot be pre-
	     configured	under the SAC. The following combinations  of  options
	     can be used with -g:

       -d device
	     device  is	 the  full path	name of	the port to which ttymon is to
	     attach.  If this option is	not specified, file descriptor 0  must
	     be	set up by the invoking process to a TTY	port.

       -h    If	the -h flag is not set,	ttymon will force a hangup on the line
	     by	setting	the speed to zero before setting the speed to the  de-
	     fault or specified	speed.

       -l ttylabel
	     ttylabel  is a link to a speed and	TTY definition in the  ttydefs
	     file. This	definition tells ttymon	at  what  speed	 to  run  ini-
	     tially, what the initial TTY settings are,	 and what speed	to try
	     next if the user indicates	that the  speed	 is  inappropriate  by
	     pressing the BREAK	key. The default speed is 9600 baud.

       -m modules
	     When  initializing	 the  port, ttymon will	pop all	modules	on the
	     port, and then push modules in the	order specified. modules is  a
	     comma-separated  list of pushable modules.	Default	modules	on the
	     ports are usually set up by the Autopush Facility.

       -p prompt
	     Allows the	user to	specify	a prompt string. The default prompt is
	     Login: .

       -t timeout
	     Specifies	that  ttymon  should  exit if no one types anything in
	     timeout seconds after the prompt is sent.

       -T termtype
	     Sets the TERM environment variable	to termtype.

ENVIRONMENT VARIABLES
       If any of the  LC_* variables ( LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COL-
       LATE,  LC_NUMERIC,  and	LC_MONETARY ) (see  environ(5))	are not	set in
       the environment,	the operational	behavior of  ttymon  for  each	corre-
       sponding	locale category	is determined by  the value of the  LANG envi-
       ronment variable.  If LC_ALL is set, its	contents are used to  override
       both  the   LANG	 and  the  other LC_* variables.  If none of the above
       variables is set	in the environment, the	"C"  (U.S. style)  locale  de-
       termines	how ttymon behaves.

	      LC_CTYPE
		    Determines	how  ttymon handles characters.	When  LC_CTYPE
		    is set to a	valid value,  ttymon can  display  and	handle
		    text  and  filenames  containing valid characters for that
		    locale.
		      ttymon can display and handle Extended Unix  Code	 (EUC)
		    characters where any individual  character can be 1, 2, or
		    3 bytes wide.  ttymon can also handle  EUC	characters  of
		    1,	2,  or	more  column  widths. In the  "C" locale, only
		    characters from ISO	8859-1 are valid.

FILES
       /etc/logindevperm

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       ct(1C), cu(1C), autopush(1M),  pmadm(1M),  sac(1M),  sacadm(1M),	 stty-
       defs(1M),    ttyadm(1M),	   uucico(1M),	 pam(3PAM),   logindevperm(4),
       pam.conf(4), utmpx(4), attributes(5), environ(5), pam_authtok_check(5),
       pam_authtok_get(5),	   pam_authtok_store(5),	pam_dhkeys(5),
       pam_passwd_auth(5), pam_unix(5),	pam_unix_account(5), pam_unix_auth(5),
       pam_unix_session(5)

       System Administration Guide: Basic Administration

NOTES
       If  a port is monitored by more than one	ttymon,	it is possible for the
       ttymons to send out prompt messages  in such a way  that	 they  compete
       for input.

       The pam_unix(5) module might not	be supported in	a future release. Sim-
       ilar  functionality  is	provided  by  pam_authtok_check(5),  pam_auth-
       tok_get(5),  pam_authtok_store(5),  pam_dhkeys(5),  pam_passwd_auth(5),
       pam_unix_account(5), pam_unix_auth(5), and pam_unix_session(5).

SunOS 5.9			  11 Dec 2001			    ttymon(1M)

NAME | SYNOPSIS | DESCRIPTION | SERVICE INVOCATION | SECURITY | OPTIONS | ENVIRONMENT VARIABLES | FILES | ATTRIBUTES | SEE ALSO | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ttymon&sektion=1m&manpath=SunOS+5.9>

home | help