Jak po upływie określonego czasu można zrzucić skorupę roota?

15

Czy istnieje sposób na „ gnome-terminalprzekroczenie limitu czasu” powłoki roota (na przykład in ), aby po pewnym czasie nie wydawania żadnych poleceń powłoka została zamknięta?

Szukam rozwiązania, które działa w bashFedorze i w kshOpenBSD.

LanceBaynes
źródło

Odpowiedzi:

23

Możesz ustawić TMOUTzmienną na liczbę w sekundach, przez którą bash musi czekać, zanim automatycznie wyloguje się z powłoki, jeśli nie zostanie wykonane żadne polecenie.

Arrowmaster
źródło
5
TMOUT jest dostępny zarówno w wersji bash, jak i ksh.
camh
4
@camh Zsh też, spodziewałbym się, że każda nowoczesna powłoka będzie go obsługiwać.
Arrowmaster
1
To wspaniała rzecz, której nauczyłem się dzisiaj.
SHW
2

Wiem, że to pytanie dotyczy Bash & Ksh. Ale pomyślałem, że opublikuję coś podobnego dla csh / tcsh, dla celów rekordowych.

W FreeBSD domyślną powłoką jest tcsh. Możesz automatycznie wylogować się z sesji za pomocąautologout funkcji powłoki tcsh.

Poniższe spowoduje automatyczne przeszukanie sesji po minucie bezczynności.

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

Strona podręcznika tcsh (1) opisuje to w następujący sposób:

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
źródło