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:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop














{ 1 comment… read it below or add one }
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”);
}