Configure BASH, KSH, TCSH, ZSH Shell To Logout User Automatically After Idle Time

by on March 30, 2008 · 1 comment· last updated at May 30, 2008

Q. How can I configure the bash shell to logout any user automatically after a period of idle time under Debian Linux or any other UNIX like operating system?

A. BASH, zsh, and ksh allows to logout all ideal user using a shell variable.

bash, zsh or ksh shell

set TMOUT variable in seconds.

tcsh shell

set autologout variable in seconds.

Append following line to your shell startup file (bash/ksh/zsh):
export TMOUT=300

If you are using tcsh, enter:
set autologout=300



You should follow me on twitter here or grab rss feed to keep track of new changes.

Featured Articles:

{ 1 comment… read it below or add one }

1 MikeM December 19, 2008 at 3:57 pm

We run this script from cron every ten minutes, killing off idle sessions that are older than 30 minutes.
Note the list of exempt users. We wouldn’t want to kill the CEO’s session.

#########################
#! /usr/bin/awk -f

BEGIN {
system(“who -u | sort +5 > /tmp/loginfile”);
system(“echo User Sessions Killed > /tmp/killedlogins”);
system(“echo `date` >> /tmp/killedlogins”);
while (getline = 1) || (timearray[2] >= 30)) &&
# list of exempt users below
($1 != “root”) &&
($1 != “legacy”) &&
#($1 != “ceo”) &&
#($1 != “cio”) &&
#
{ {
system(“ps -ef | grep ” $1 ” | awk ‘{print $2}’ | xargs kill -KILL”);
print $1, “[Idle " $6 "] Session terminated from ” $8 >> “/tmp/killedlogins”;
};
};
}
system(“rm /tmp/loginfile”);
system(“chmod 644 /tmp/killedlogins”);
}

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <kbd> <blockquote> <pre> <a href="" title="">

Tagged as: , , , , , , , , , , ,

Previous Faq:

Next Faq: