[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

359.0. "Suppress Logout Message" by DRAGON::ENORRIS (What is it, Miss Pfeffernuss?) Tue Nov 25 1986 17:33

    Is there a way to suppress the logout message you receive?
    
    $ logout
      RDOGWOOD     logged out at 14-AUG-1985 19:39:01.43
    
    I tried redefining the logicals SYS$COMMAND, SYS$ERROR, SYS$INPUT,
    SYS$OUTPUT, and TT, but didn't have any luck.
    
    $ define/user sys$command nl:
    etc.
    $ logout

    Ed
T.RTitleUserPersonal
Name
DateLines
359.1stop/id=0COOKIE::SCHROEDERI'm learning baby talkTue Nov 25 1986 17:555
    You could do a stop/id=0. This does not run loginout and I believe 
    prevents an entry to the accounting file.
    
    						Has3
    
359.2ULTRA::CRANEOlorin I was in the West that is forgotten...Tue Nov 25 1986 18:347
>    You could do a stop/id=0. This does not run loginout and I believe 
>    prevents an entry to the accounting file.

   I believe that $DELPRC (which is used to kill the process when you type
STOP/ID=0) sends the accounting message to the job-controller, which enters
it into the accounting-file.
359.3a little overKILLCHAMBR::GUINEAUTue Nov 25 1986 21:211
    
359.4PASTIS::MONAHANWed Nov 26 1986 06:4016
    	When LOGINOUT is run from a process (by the $ LOGOUT command)
    it does a rundown successively in all modes before deleting the
    process. $ STOP /ID=0 does none of this run down.
    
    	User mode rundown is not relevant. User mode would have to be
    run down from a previous image before LOGINOUT could be run anyway.
    Supervisor mode rundown is only important for files open at the
    DCL level, that is, by a $ OPEN command. If you want to be sure
    you have no nasty effects from $ STOP /ID=0, then you should explicitly
    close any of these open for output. Exec mode rundown would flush
    out a batch log file.
    
    	You get an accounting record anyway, so unless you like to have
    some of the above rundown it does not make much difference (apart
    from the message on the terminal) which method you use to get rid
    of your process.
359.5FORCEX and accounting?WHOARU::MCCARTHYAre we having fun yet?Wed Nov 26 1986 10:3716
    What about doing a forced exit on another process.  Does that show
    up in the acounting?  
    
    Assuming that process is at DCL level.
    
    I attended a religiously affiliated school which, to try to get
    people to go to church, set up accounts so they were no allowed
    to be logged in between 11:00 and 12:00, and between 5:00 and 6:00
    on sundays.
    
    The job controller would try to use FORCEX on processes logged in
    at that time (interactive only).  It did this twice about five minutes
    appart.  To get around it all you had to do was be in some EXE at
    that time!
    
    mac
359.6Thanks for the repliesDRAGON::ENORRISWhat is it, Miss Pfeffernuss?Wed Nov 26 1986 13:3516
    I know about STOP/ID=0, I should have said I *WANT* to use LOGOUT
    and suppress the messages. I can't think of a nice way to run down
    supervisor mode. All I can think of is to do a $ SHOW DEVICE D/FILES,
    search the output for my process name, do $ SHOW LOGICAL/PROCESS,
    search the output for matches from the open files output and close
    any matches that I have.

    The reason I'm interested in this: The "Guide To VAX/VMS System
    Security" (Section 3.3.1) suggests that you not leave a trail of 
    accouts that you have logged off of (remote nodes and local node). 
    It suggests that you turn the terminal off or reset your terminal in 
    some way (SET-UP 0). I don't think someone going to do this every time 
    they leave the office, it tough enough getting people to log out. It 
    would be nice if VMS development added a LOGOUT/NODISPLAY command.

    Ed    
359.7LO*GOUT == "STOP/ID=0"LA780::LONGOBob LongoWed Nov 26 1986 15:531
    
359.8It should work under VAX/VMS V3DRAGON::ENORRISWhat is it, Miss Pfeffernuss?Wed Nov 26 1986 16:5811
    I want to use the LOGINOUT program. I don't want to use STOP/ID=0
    regardless of how you try to "hide" it.
    
    Looking over the "Internals" manual, LOGINOUT is suppose to send
    the log out message to SYS$OUTPUT, then close SYS$OUTPUT, etc.
    The manual was written during version 3 of VMS, did the message 
    destination change with version 4 or is it a bug? Defining SYS$OUTPUT 
    to NL: should suppress the message if the destination didn't change 
    between versions.
    
    Ed
359.9Then again, there's always the "&" command in VMS 4.4...JON::MORONEYWelcome to the MachineWed Nov 26 1986 17:137
I think redefining SYS$OUTPUT doesn't work because LOGINOUT first runs down
user mode (which blows away any DEFINE/USERs), then supervisor mode (which
blows away regular DEFINEs), then gives the message, then closes EXEC mode
logicals, like the "real" SYS$OUTPUT.  In theory, DEFINE/EXEC SYS$OUTPUT NL:
should do what you want, if I'm correct, but that requires priviliges.

-Mike
359.10Arrgh!DRAGON::ENORRISWhat is it, Miss Pfeffernuss?Wed Nov 26 1986 17:415
    Re .9  $ DEFINE/EXEC SYS$OUTPUT NL: doesn't work (VAX/VMS V4.5).
    Not only doesn't it work, I cannot define SYS$OUTPUT in executive mode.
    If you do a $ SHOW LOG SYS$OUTPUT/FULL it shows it in supervisor
    mode. I have SYSNAM privilege so that isn't the problem. Now I'm really
    puzzled.
359.11Perhaps CMEXEC is needed?JON::MORONEYWelcome to the MachineWed Nov 26 1986 19:280
359.12DRAGON::ENORRISWhat is it, Miss Pfeffernuss?Wed Nov 26 1986 19:384
    Re.11  I had all privileges. The DCL Dictionary states that you
    need only SYSNAM. 

    Ed
359.13CLT::GILBERTeager like a childFri Nov 28 1986 15:398
    re .10

    Try $ SHOW LOG SYS$OUTPU* /FULL /OUT=TT:, instead.

    Without the wildcard, SHOW LOGICAL assumes you're interested in a
    single name, a hence a single logical name definition.  Also, it
    keeps the 'display' shorter in the oft-occuring case of a name with
    no wildcards.
359.14Thanks for the replies24667::ENORRISWhat is it, Miss Pfeffernuss?Mon Dec 01 1986 13:1810
	Re.13  I never knew that (needless to say). 

	I entered the command $ DEFINE/EXEC SYS$OUTPUT NL:

	The command $ SHOW LOGICAL SYS$OUTPU* /FULL/OUT=TT: shows that
	the change was made in supervisor mode. The executive mode logical
	remains unchanged (DRAGON::VTAxxx). Is this a bug? Should I move
	this over to the VMS conference?

Ed
359.15Modify loginoutKEEPER::BEELERMon Dec 01 1986 20:2418
    But, one additional thing should be noted here.
    define/exec sys$output NL: does not change sys$ouput on your terminal
    this is because sys$input ,sys$output ,sys$error are process permenent
    logical names. This means that there is an escape sequence at the
    start of the logical name. The rms manual talks about process permenent
    files and how to use them. But, this does not solve your problem
    just answers the question about why the define didn't work.
    
    The problem is not solvable. If security is a VERY HIGH priority
    ala D.O.D. work do one of two things
    
    Talk to the VMS secure kernel group in LTN.
    patch or modify loginout.exe or .bli and remove the
    $put for the formatted message.
    
    P.S. if the second option is your choice beware you are now the
    owner of an unsuported VMS system.
    
359.16CAFEIN::PFAUYou can't get there from hereMon Dec 01 1986 20:333
    Find the FAO control string in LOGINOUT.EXE and patch out the '!12AS'.
    
    tom_p
359.17Another way outTHEBAY::HAYESSame stuff, different DayWed Dec 10 1986 08:039
    
    FWIW
    
    Something I always thought was kinda neat is that
    
    	$ SET TERM/MODEM
    	$ SET TERM/NOMODEM
    
    Logs you out.  Is this equivalent to $ STOP/ID=0 ?
359.18Terminal Modification not like Stop/IdSPIDER::SCHLIESMANNOne in a MillWed Dec 10 1986 16:066
Re: .17

I don't think the SET TERM/MODEM, SET TERM/NOMODEM operatation logs out the 
process.  It merely disconnects the process from the associated terminal.

Therefore, no, the effect is not the same as a STOP/ID=0.
359.19CRVAX1::LAMPSONMike Lampson @DDOWed Dec 10 1986 21:565
 > It merely disconnects the process from the associated terminal.

        This is assuming you have virtual terminals enabled, of course!
        
       _Mike
359.20LOGINOUT BUG!?NCBDVX::LEESlaving away in obscurityThu Dec 11 1986 17:069
I think that $SET MESSAGE/NOFACILITY/NOID/NOSEVER/NOTEXT
should work ... but doesn't!

I think we have found a legitimate LOGINOUT bug since this works
in DCL!

Now who wants to break this to the VMS group?

-- Scott
359.21Not from a message fileNOVA::KLEINThu Dec 11 1986 21:276
The logout messages do not come from a message file, so setting the
process-default $GETMSG flags has no effect.  This is not a VMS bug
(though it could be argued that DCL should use a message file for
the logout messages).

-steve-
359.22patchIOSG::BAILEYDon't dream it, Be itFri Dec 12 1986 09:009

Try Patching Loginout.exe, I can patch it so you get a different message
on logout , so you should be able to get rid of it all
(or over write the process name with blanks )

ta

peb
359.23YupIOSG::BAILEYDon't dream it, Be itFri Dec 12 1986 09:1712
Yup, place a <CR> before the 'logged' so the logout message reads


lo
  SYSTEM      
logged out at 12-DEC-1986 11:10:24.16


which of course appears as 


lo
logged out at 12-DEC-1986 11:10:24.16
359.24This works for meMRMFG1::J_POMPAJeff PompaFri Dec 12 1986 21:2515
	I run this to logout every time. If you are on a lat it will
   leave the screen completely blank except for the "Local>" prompt.
   At most, it will leave a piece of the time of day. I put this in
   my login.com file:  $ lo :== @logout.com .  Just make sure you do
   not type "lo" when leaving a subprocess.  Also, if your system does
   not reset your terminal during logins you will have to add this to
   your login.com file :  $ write sys$output "<esc>[1;24r" .  It will put
   the scrolling region back to normal after your previous logout. 

logout.com:

$ set term/width=10                 ! squeeze width & clear screen.
$ write sys$output "<esc>[1;2r"     ! make two line scroll region.(vt100)
$ logout
$
359.25Take another tack...USRCV1::GREENEWhat if...you bought DEC?Sat Dec 13 1986 13:2715

    How about if you write a little program that sits and waits for someone
    to logout?  This could be a detached process that is brought up when
    the system is booted, or INSTALL it or whatever. Set up a global symbol
    ($ LO*GOUT :== RUN KILL.EXE) so it will automatically be invoked when
    users logout.  This program could then determine the PID of the calling
    process, determine the TT: of the process, establish a link to the same
    TT:, logout the calling process, then clear the screen, then go away.
    
    I don't think that this would be too hard to write.  Any other ideas?
    
    
    
    						Dave 
359.26CAN'T TRAP LO*GOUTTROPPO::RICKARDDoug Rickard - waterfall minder.Sun Dec 28 1986 21:2627
Re: .25

>    How about if you write a little program that sits and waits for someone
>   to logout?  This could be a detached process that is brought up when
>    the system is booted, or INSTALL it or whatever. Set up a global symbol
>    ($ LO*GOUT :== RUN KILL.EXE) so it will automatically be invoked when
>    users logout.  This program could then determine the PID of the calling
>    process, determine the TT: of the process, establish a link to the same
>    TT:, logout the calling process, then clear the screen, then go away.
    

	There is no foolproof way to trap existing DCL symbols in the 
way suggested. For example, I like to set up my own environment, not 
have one set up by the system manager of whatever system I happen to be 
on today, therefore one of the first commands in my LOGIN.COM is to 
delete all local and global symbols previously defined. This alone would 
avoid the above suggestion. The second thing is that ANY trapped DCL 
command can be bypassed by typing in the full command plus additional 
junk characters e.g. I ALWAYS type LOGOUTX. I dont even have to think 
about it these days, I've been doing it for so many years. This neatly 
bypasses any attempts by the system manager to force me through a long 
winded purge sequence or anything else he has dreamed up. I do not get 
up from a terminal until I see the logout message.

	Doug.