有什么方法可以使Bourne样式的shell(/ bin / sh)中的空闲用户超时。

man sh没有谈论它。

http://www.freebsd.org/cgi/man.cgi?sh

/ etc / profile中的TIMEOUT或TMOUT shell env变量对于bash和ksh正常工作。

http://linux.die.net/man/1/bash

C-Shell具有/etc/csh.logout设置的autologout选项。

http://www.freebsd.org/cgi/man.cgi?csh

在sh(/ bin / sh)的情况下,我找不到任何类似的选项。

更新:

/ bin / sh似乎正在读取/ etc / profile。

在/ etc / profile中添加了以下条目:

TMOUT=60
readonly TMOUT
export TMOUT


登录后:

$ env
USER=test
HOME=/var/home/test
LOGNAME=test
TERM=vt100
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/sbin:/opt/bin
SHELL=/bin/sh
TMOUT=60


/ var / home / test / trace(sh调试日志):

token word TMOUT=60
pipeline: entered
reread token word TMOUT=60
reread token word TMOUT=60
reread token word TMOUT=60
reread token word TMOUT=60
reread token word TMOUT=60
reread token word TMOUT=60
token newline


但是,空闲会话仍不会自动注销。
/ bin / sh /似乎没有使用TMOUT值。

最佳答案

看一下doinkd端口(sysutils/doinkd)。从包装说明;


  空闲守护程序(doinkd)监视用户活动并在以下情况下将其注销
  满足预定义的规则。其中包括会话时间,多次登录,
  tty,空闲时间和组限制。与Unix idleout命令类似,
  但更可配置。以前闲着。

关于linux - 空闲超时伯恩式 shell ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23926942/

10-13 09:08