Date: Mon, 2 Dec 1996 17:28:34 +1100 (EST) From: Julian Assange <proff@suburbia.net> To: davidn@sdev.usn.blaze.net.au (David Nugent) Cc: hackers@freebsd.org Subject: Re: Logging ttys off Message-ID: <199612020628.RAA16489@suburbia.net> In-Reply-To: <Mutt.19961202165401.davidn@sdev> from David Nugent at "Dec 2, 96 04:54:01 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> Julian Assange writes: > > > I'm looking for a "foolproof" way of logging out lines that > > > are in use. The only real information available at the time I > > > need to do this is the user's utmp entry. > > > > What is your objective? there may be another solution. > > Time accounting. If session limits run out, or the user runs out > of time, or the session runs into a time period in which logins > on specific ttys are not allowed, then I need to log the user > off and cleanup any background processes they may have started > during the session. You could look at a program I wrote a while called "hidleho" that does just this (among other things), although it is a little dated now. (ftp://ftp.suburbia.net/pub/proff/original/chalace+hidleho). Also Dial-Up_Utils on sunsite in /pub/linux somewhere, similar and actively maintained. #/etc/hidleho.cnf is the configuration file for hildeho. # # the uid variable defines what user hidleho should run as for its # maintenance functions. you must ensure that all of # hidleho's config files and directories are owned by uid Uid hidleho # # TtyUid varible defines what user owns the vacant ttys. TtyUid root # # UserBase variable defines the directory to hold the per-user config # directories and sub-files. UserBase /usr/hidleho # # GroupBase variable defines the directory to hold the group-wide config # directories and sub-files. GroupBase /usr/hidleho # DeniedMsg File printed to tty when a user is denied access ('-' flag) DeniedMsg /etc/hidleho.denied # BorrowGrace Grace for logoff when lines are full. BorrowGrace 2 # # the def_term variable defines what the enviromental variable TERM should # be set to if hildeho is unable to obtain the terminal type # from the remote connection, /etc/gettydefs or ~/.termtype. Term vt100 # #the ttys variable defines the ttys to monitor if the users "B" flag # is set. Also effects the "C" flag. ttys ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 # #the weights variable defines the multiplicative weight applied to # the effective calculated call time for the ttys specified # by ttys: weights 1 1 1 1 1 #the warn_t variable defines the t- times at which the user will be warned # of approching total timeout (up to 10 parameters) warn_t 10 3 2 1 #the warn_i variable defines the t- times at which the user will be warned # of approching idle timeout (up to 10 parameters) warn_i 3 2 1 # # Description of general parameters: # # Name = user name, or the pseudo-name "default:", or a # /etc/group name terminated with a trailing "+". # Total = total number of minutes the user is allowed on-line. # InIdle = how long for idle timeout, if no user input # OutIdle = how long for idle timeout, if no system output # TimeLim = the amount of time granted per time segmant # TimePer = the size (in time) of a time period/segmant # Exclude = minutes to exclude the user for on logout (B & C) # Flags = lower case alphabetical = FALSE, upper case = TRUE # I = send user Information at login time # i = do not " # W = send disconnection warnings to terminal # w = do not " # K = kill all users tasks system wide # k = kill all users tasks tty wide # A = ask user for terminal type # a = do not " # B = allow user to exist on borrowed time # b = do not " # C = total timeout only on a Configured ttys: # c = total timeout on all ttys # E = exclusive idle on. if (idle_in || idle_out) idle() # e = " off. if (idle_in && idle_out) idle() # T = timer on. # t = timer off, just exec shell after auth/term/info. # N = permit negative time left # n = do not permit negative time left (timeleft = 0 if negative) # U = unlimited negative time # u = negative time limited to -TimeLim # - = prevent user/group from loging in. # + = allow user/group to login. # # Shell = filename to execute # n.b an "*" specified in any but the Name parameter field acts as a place # holder. #Name Total InIdle OutIdle TimeLim TimePer Exclude Flags Shell # default: 30 10 10 2h 1d 0 uNeTIWKABC+ /bin/tcsh unpaid+ 30 10 10 4h 28d 10 KEc /usr/local/bin/mshell donate+ 45 15 15 2h 1d 5 * /bin/tcsh sponsor+ 45 20 15 3h 1d 4 * /bin/tcsh oldsponsor+ 90 20 15 3h 1d 4 * /bin/tcsh staff+ 52w 2h 2h 0 0 0 eTiWkaBC+ /bin/tcsh proff * * * * * * AI /bin/tcsh register 55 8 8 0 0 0 EkabcA /usr/local/lbin/guest_login guest 55 8 8 0 0 0 EkabcA /usr/local/lbin/guest_login chaltest 4 * * 0 0 0 EkabcAi /home/chaltest/login xfer 2h * * 0 0 0 eIkAbc /usr/local/lbin/wares motronic 130 * * 5h 1d * * *
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612020628.RAA16489>