让我们想象这么一个场景。你有一台服务器常常被网络中各体系的很多个用户访问。有大概出现某些用户忘记登出会话让会话保持会话处于连接状态。我们都知道留下一个处于连接状态的用户会话是一件多么危险的事情。有些用户大概会借此故意做一些破坏体系的事情。而你,作为一名体系管理员,会去每个体系上都查抄一遍用户是否有登出吗?其实这完全没必要的。而且若网络中有成百上千台呆板,这也太耗时了。不过,你可以让用户在本机或 SSH 会话上凌驾一定时间不活跃的情况下自动登出。本教程就将教你如安在类 Unix 体系上实现这一点。一点都不难。跟我做。 在 Linux 上实现一段时间后自动登出非活动用户 方法 1: 编辑 ~/.bashrc 或 ~/.bash_profile 文件: [code] $ vi ~/.bashrc[/code]或, [code] $ vi ~/.bash_profile[/code]将下面行参加其中: [code] TMOUT=100[/code]这会让用户在停止动作 100 秒后自动登出。你可以根据必要定义这个值。生存并关闭文件。 运行下面下令让更改见效: [code] $ source ~/.bashrc[/code]或, [code] $ source ~/.bash_profile[/code]现在让会话闲置 100 秒。100 秒不活动后,你会看到下面这段信息,而且用户会自动退出会话。 [code] timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.[/code]该设置可以轻易地被用户所修改。因为,~/.bashrc 文件被用户本身所拥有。 要修改大概删除超时设置,只必要删掉上面添加的行然后执行 source ~/.bashrc 下令让修改见效。 此外,用户也可以运行下面下令来禁止超时: [code] $ export TMOUT=0[/code]或, [code] $ unset TMOUT[/code]若你想制止用户修改该设置,利用下面方法代替。 方法 2: 创建一个名为 autologout.sh 的新文件。 [code] # vi /etc/profile.d/autologout.sh[/code]参加下面内容: [code] TMOUT=100 readonly TMOUT export TMOUT[/code]生存并退出该文件。 为它添加可执行权限: [code] # chmod +x /etc/profile.d/autologout.sh[/code]现在,登出大概重启体系。非活动用户就会在 100 秒后自动登出了。普通用户纵然想保留会话连接但也无法修改该配置了。他们会在 100 秒后强制退出。 这两种方法对当地会话和远程会话都实用(即当地登录的用户和远程体系上通过 SSH 登录的用户)。下面让我们来看看怎样实现只自动登出非活动的 SSH 会话,而不自动登出当地会话。 方法 3: 编辑 /etc/ssh/sshd_config 文件: [code] $ sudo vi /etc/ssh/sshd_config[/code]添加/修改下面行: [code] ClientAliveInterval 100 ClientAliveCountMax 0[/code]生存并退出该文件。重启 sshd 服务让改动见效。 [code] $ sudo systemctl restart sshd[/code]现在,在远程体系通过 ssh 登录该体系。100 秒后,ssh 会话就会自动关闭了,你也会看到下面消息: [code] $ Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.[/code]现在,任何人从远程体系通过 SSH 登录本体系,都会在 100 秒不活动后自动登出了。 以上就是脚本之家分享给各人关于Linux 上让一段时间不活动的用户自动登出方法介绍的全部内容,希望对各人有所资助。感兴趣的朋友可以继承参阅本站其他相干专题,如有不敷之处,接待留言指出。感谢朋友们对本站的支持! 来源:https://www.jb51.net/LINUXjishu/596424.html 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 01:02 , Processed in 0.028664 second(s), 19 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.