Clearing the Screen When You Log Out

Problem

You use or administer some systems that do not clear the screen when you log out, and you’d rather not leave the tail end of whatever you were working on visible, since that could be an information leak.

Solution

Put the clear command in your ~/.bash_logout:.

# ~/.bash_logout

# Clear the screen on exit from the shell to prevent information leaks,
# if not already set as an exit trap in bash_profile
[ "$PS1" ] && clear

Or set a trap to run clear on shell termination:

# ~/.bash_profile
# Trap to clear the screen on exit from the shell to prevent
# information leaks, if not already set in ~/.bash_logout
trap ' [ "$PS1" ] && clear ' 0

Note that if you are connecting remotely and your client has a scroll-back buffer, whatever you were working on may still be in there. clear also has no effect on your shell’s command history.

Discussion

Setting a trap to clear the screen is probably overkill, but could conceivably cover an error situation in which ~/.bash_logout is not executed. If you are really paranoid you can set both, but in that case you may also wish to look into TEMPEST and Faraday cages.

If you skip the test to determine whether the shell is interactive, you’ll get errors like this under some circumstances:

# e.g., from tput
No value for $TERM and no -T specified

# e.g., from clear
TERM environment variable not set.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.166.7