ITEASY

닫기

추천 검색어
# 클라우드
# VPN
# 무료서비스
# 호스팅
# 이벤트

이전 단계

기술문서

로그인한 가입자 제한된 사용시간 동안 작업이 없을 경우 로그아웃시키기

2007. 09. 05

목적 : telnet으로 서버에 접속하여 일정시간 사용치않을때(idle time) 자동으로 로그아웃함. 


해결방법 : idled란 데몬을 설치하여 데몬으로 실행시켜둔다. 



1. 먼저 idled-1.16.tar.gz 소스를 구한다. 


http://www.cs.hope.edu/~crider/idled/ 


2. 제작자 : Mike Crider crider@cs.hope.e여 


3. ISP의 ftp사이트에서 소스를 구할 수 있음. 


4. 소스를 구한 다음 /usr/local 디렉토리로 소스를 이동한다. 

5. 먼저 압축과 tar를 해제한다. 


#tar xvfz idled-1.16.tar.gz 

또는 

#gunzip idled-1.16.tar.gz 

#tar xvfp idled-1.16.tar 


6. 해당 디렉토리로 이동한다. 


#cd idled-1.16 


7. Makefile을 수정한다.(수정할 내용은 다음과 같다.) 


- Compiler를 설정한다.(CC로 할 것인지,, gcc로 할 것인지) 

- 설치하는 플레폼에 맞는 곳에서 주석을 제거한다. 


(기본적으로 대부분 Solaris에 주석이 제거되어 있으므로 

Solaris외의 다른 플레폼이라면 Solaris부분을 주석처리해야한다.) 



현재 여기서는 Linux이므로 다음과 같이 한다. 


CC = cc

RM = rm

INCLUDE =

######################################################################

######################################################################

# Linux

# Note: NOT all version of Linux have yyrestart(). Remove the

# -DHAVE_YYRESTART if you have problems.

# You should do a 'make clean' before 'make', so that parse.c

# and scan.c will be created on your system.

#DEFS += -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID

DEFS += -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART

SPECLIBS =

INSTTYPE = install1


DEST = /usr/local/bin<- 실행파일(idled)가 위치할 디렉토리

CFDEST = /usr/local/lib<- 환경파일(idled.cf)가 위치할 디렉토리

MDEST = /usr/local/man<- man파일 위치

LOGDEST = /var/log<- idled위 로그파일


OWNER = root

CFOWNER = root

MOWNER = root


GROUP = root

CFGROUP = root


MODE = 750

CFMODE = 664

MMODE = 644


######################################################################

######################################################################


8. make 로 컴파일한다. 


[root@www idled-1.16]# make

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c insque.c -o insque.o

yacc -d parse.y

mv y.tab.c parse.c

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c list.c -o list.o

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c parse.c -o parse.o

lex scan.l

mv lex.yy.c scan.c

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c scan.c -o scan.o

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c idled.c -o idled.o

idled.c:37: warning: `ut_xtime' redefined

/usr/include/bits/utmp.h:76: warning: this is the location of the previous definition

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c warn.c -o warn.o

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c xlock_check.c -o xlock_check.o

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c zap.c -o zap.o

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -c linetimelist.c -o linetimelist.o

cc -DSYSV -DUTMPPID -DUTMPHOST -DHAVE_SETSID -DHAVE_YYRESTART -DCONFIG="/usr/local/lib/idled.cf" -DLOGFILE="/var/log/idled.log" -o idled insque.o list.o parse.o scan.o idled.o warn.o xlock_check.o zap.o linetimelist.o 

echo /usr/local/lib/idled.cf | sed 's/////g' > .maketmp

echo /var/log/idled.log | sed 's/////g' > .maketmp2

sed -e "s/CONFIGPATH/`cat .maketmp`/" -e "s/LOGFILEPATH/`cat .maketmp2`/" idled.cf.man.form > idled.cf.5

sed -e "s/CONFIGPATH/`cat .maketmp`/" -e "s/LOGFILEPATH/`cat .maketmp2`/" idled.man.form > idled.8

rm -f .maketmp .maketmp2



9. make install 로 설치한다. 


[root@www idled-1.16]# make install

install -c -m 750 -o root -g root idled /usr/local/bin

install -c -m 664 -o root -g root idled.cf.template /usr/local/lib

install -c -m 644 -o root idled.cf.5 /usr/local/man/man5

install -c -m 644 -o root idled.8 /usr/local/man/man8


Be sure to edit/create the file /usr/local/lib/idled.cf based on

the needs for your system. The /usr/local/lib/idled.cf.template

file can serve as a guide, as well as the man pages.




10. 설치후 중요한 파일들의 위치는 다음과 같다. 


- 실행파일 : /usr/local/bin/idled 

- 환경파일 : /usr/local/lib/idled.cf 


11. 처음엔 환경설정파일의 이름이 idled.cf.template이므로 다음과 같이 변경한다. 


#mv idled.cf.template idled.cf 


12. idled.cf파일을 vi로 열어서 적당한 설정값으로 설정한다. 


idled.cf내의 timeout default 60 값을 조정한다. 

여기서 입력한 단위는 분이며 60분후에 logout시키겠다는 의미이다. 


13. 이제 /usr/local/bin/idled의 데몬을 띄운다. 


[root@owner lib]# ps -ef | grep idled

root 5983 1 0 15:33 ? 00:00:00 /usr/local/bin/idled


14. idled 데몬이 정상적으로 작동하는지(logout)시키는 가를 확인한다. 

[owner@owner owner]$


Tue Jul 4 15:56:20

This terminal has been idle 60 minutes. If it remains idle

for 5 more minutes it will be logged out by the system.



위의 메시지는 현재 시간을 알리고 60분간 아무런 작업을 하지않았음을 알리고

향후 5분간 idle time이 지속되면 system에 의해 logout된다는 메시지를 알리고 있다.

실제로 5분간 idle time이 지속될 때 해당 사용자는 logout이 된다.



15. idled의 주요구성파일 확인 


DEST = /usr/local/bin/idled

CFDEST = /usr/local/lib/idled.cf

MDEST = /usr/local/man

LOGDEST = /var/log/idled.log


출처 한국소프트웨어진흥원

이전 글 파일 및 디렉토리 소유정보 변경하기

2007. 09. 05

다음 글 특정사용자의 소유의 파일 찾기

2007. 09. 05

목록

무엇이든 물어보세요

아이티이지 전문가가 궁금하신 점을 쉽고 빠르게 해결해 드리겠습니다.

고객센터 1600-8324
내선번호
  • 내선 1 서버 / IDC

  • 내선 2 클라우드

  • 내선 3 관리대행 / ITO

  • 내선 4 도메인

  • 내선 5 보안 서비스 문의

  • 내선 6 문자 / 카카오비즈메시지

  • 내선 7 Microsoft365

  • 내선 8 마케팅/서비스 제휴

  • 내선 9 홈페이지 제작

  • 내선 0 기타서비스

  • 내선 11 긴급 장애

휴일 긴급 연락처010-3124-8320

평일 9:00~18:00 (IDC 긴급 장애처리 24시간 운영)

FAX 02-6264-8321

문의하기