#سوال: چگونه می توان کاربری که بیشتر از مدت معینی در وضعیت idle قرار دارد را مجبور به logout کرد؟
روش اول: برای logout خودکار کاربران(در صورت عدم فعالیت) می توان از متغیر TMOUT استفاده کرد. برای مثال با تنظیم این متغیر به عدد 5، کاربر oracle بعد از مدت پنج ثانیه از سیستم خارج خواهد شد البته در صورت عدم فعالیت!:
[oracle@myhost ~]$ export TMOUT=5
[oracle@myhost ~]$ timed out waiting for input: auto-logout
برای تنظیم پایدار این متغیر، می توانیم از فایلهایی چون bashrc. و bash_profile. کمک بگیریم.
[oracle@myhost ~]$ vi .bash_profile
export TMOUT=5
با این روش، فردی که با این متغیر آشنا باشد، می تواند بعد از لاگین به سیستم، آن را تغییر دهد. برای انکه متغیر TMOUT برای همه کاربران اعمال شود و همچنین برای کاربران غیرادمین غیرقابل تغییر باشد، می توان این متغیر را read only کرد:
[root@myhost ~]# vi /etc/profile.d/myscript.sh
export TMOUT=50
readonly TMOUT
[root@ myhost ~]# chmod 777 /etc/profile.d/myscript.sh
با این تنظیمات، کاربر oracle نخواهد توانست متغیر TMOUT را تغییر دهد:
[oracle@myhost ~]$ echo $TMOUT
50
[oracle@myhost ~]$ export TMOUT=60
-bash: TMOUT: readonly variable
روش دوم: برای logout خودکار افراد غیرفعالی که با سرویس sshd به سیستم لاگین کرده اند، می توان دو متغیر زیر را در فایل پیکربندی sshd تنظیم کرد:
[root@myhost ~]# vi /etc/ssh/sshd_config
ClientAliveInterval 50
ClientAliveCountMax 0
با این تنظیم و با اتصال از طریق سرویس sshd به سیستم، بعد از 50 ثانیه عدم فعالیت، پیام زیر را دریافت خواهیم کرد:
[root@other ~]# ssh 192.168.1.20
[root@other ~]# Connection to 192.168.1.20 closed by remote host.
Connection to 192.168.1.20 closed.