How do you disconnect inactive user sessions?

last updated in Categories Ask nixCraft, Linux, Linux distribution, RedHat/Fedora Linux, Security, Shell scripting, Tips, Troubleshooting, Tuning

One of our regular reader hall sends an interesting question:

I work for a small company and most user login to centralized Linux server. I’d like to
automatically log out all inactive users from server for various reasons. How do I disconnect inactive user sessions?

To be frank, I don’t have any clear cut answer to question. There are at least 4-5 shells installed on a typical Linux installation. Also most user have has control over their own environment and user can switch to a different shell.

I hope our reader or seasoned UNIX admin can help to answer this question. Please share the experiences and advice in the comments.

Update: Checkout answer below in comments!

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

3 comment

  1. you can do this in sshd_config file:

    Set idle session timeout to 15 min:
    ClientAliveInterval 300
    ClientAliveCountMax 3

  2. Another way: for bash and Korn-shell, setting
    TMOUT=7200
    in /etc/profile will logout users after 2 hours of inactivity.

  3. Hey I just added three of your articles to fsdaily.com which is a site like digg but for news and article about free software.

    Can you please add an “FSD it” link to your list of service links? It’ll make it easier for me (or anyone else) to do it with future articles you write.

    The link for this article would be:

    URL

    Thanks.

    Have a question? Post it on our forum!