Wie kann eine Root-Shell nach einer bestimmten Zeit abgelöst werden?

15

Gibt es eine Möglichkeit, ein Timeout für eine Root-Shell (z. B. in gnome-terminal) festzulegen, sodass die Shell nach einer bestimmten Zeit ohne Ausgabe von Befehlen beendet wird?

Ich suche nach einer Lösung, die in bashFedora und in kshOpenBSD funktioniert .

LanceBaynes
quelle

Antworten:

23

Sie können die TMOUTVariable auf eine Zahl in Sekunden einstellen, die die Bash warten soll, bevor die Shell automatisch abgemeldet wird, wenn kein Befehl ausgeführt wird.

Pfeilmeister
quelle
5
TMOUT ist sowohl mit bash als auch mit ksh verfügbar.
6.
4
@camh Zsh auch, ich würde erwarten, dass jede moderne Shell es unterstützt.
Arrowmaster
1
Es ist eine großartige Sache, die ich heute gelernt habe.
SHW
2

Ich weiß, dass sich diese Frage auf Bash & Ksh bezieht. Aber ich dachte, ich würde etwas Ähnliches für csh / tcsh posten, für die Aufzeichnung.

Unter FreeBSD ist die Standard-Shell tcsh. Sie können eine Sitzung mithilfe der autologoutFunktion der tcsh-Shell automatisch abmelden .

Im Folgenden wird eine Sitzung nach einer Minute Leerlaufaktivität automatisch deaktiviert.

freebsd82# set -r autologout=’1′
(Wait one minute)
freebsd82# auto-logout
Connection to freebsd82 closed.

Die Manpage tcsh (1) beschreibt es so:

autologout (+)
     The first word is the number of minutes  of  inactivity  before
     automatic  logout.   The  optional second word is the number of
     minutes of inactivity before automatic locking.  When the shell
     automatically logs out, it prints `auto-logout', sets the vari-
     able logout to `automatic' and exits.  When the shell automati-
     cally locks, the user is required to enter his password to con-
     tinue working.  Five incorrect  attempts  result  in  automatic
     logout.  Set to `60' (automatic logout after 60 minutes, and no
     locking) by default in login and superuser shells, but  not  if
     the shell thinks it is running under a window system (i.e., the
     DISPLAY environment variable is set), the tty is  a  pseudo-tty
     (pty)  or  the shell was not so compiled (see the version shell
     variable).  See also the afsuser and logout shell variables.
Stefan Lasiewski
quelle