본문 바로가기

Solaris/기술과 팁

[팁] 솔라리스 텔넷세션 타임아웃(접속시간) 설정하기


출처 : http://crong.textcube.com/75

 

ksh나 sh는 /etc/profile 파일에 TMOUT 부분을, csh이나 tcsh는 /etc/.login 파일에 autologout 설정하면 됩니다. 그러나 두 파일(/etc/profile, /etc/.login)은 모든 계정에 적용되는 원리이므로 각각의 계정에 timeout 시간을 설정하려면 다음과 같이 해야 합니다. .

 

우선 TMOUT 확인

# echo $TMOUT

0  (무한 시간동안 접속)
 
/etc/profile 파일 끝부분에 다음과 같이 붙입니다.

# SET TIMEOUT
if [ -r /etc/utty_timeout/$LOGNAME ]
then
        TMOUT=`cat /etc/utty_timeout/$LOGNAME`
        export TMOUT
else
        TMOUT=0
        export TMOUT
fi

 
/etc/.login 파일의 끝부분엔 다음과 같이 붙입니다.

# Set the autologout
if ( -r /etc/utty_timeout/$LOGNAME ) then
        @ timeout = `cat /etc/utty_timeout/$LOGNAME`
        @ timeout /=60
        set autologout=$timeout
else
        set autologout=0
endif

 
이렇게 설정한 다음에 /etc 디렉터리 밑에 utty_timeout이라는 디렉터리를 만들어 줍니다. 그리고 chmod 명령어로 디렉터리 퍼미션을 755로 설정합니다. 그 디렉터리 밑에 timeout을 설정할 계정을 vi로 만듭니다. 예를 들어 moon이라는 파일을 만들고 거기에 1800 이라는 숫자를 넣고 저장합니다. moon 파일을 만들었다면 chmod 명령어로 퍼미션을 755로 설정합니다. 이렇게 하면 moon이라는 계정은 30분 후 세션 종료됩니다. 위의 /etc/.login 파일에 "@ timeout /=60" 이라고 한 부분은 전부 csh을 사용하므로혹 root로 로그인시 아무 작업이 없을 경우에는 1분 후 세션이 종료되도록 설정한 작업입니다.
 
이런 방법으로 특정 계정에 대한 timeout을 설정하면 됩니다. 만들어진 파일 외의 계정들은 기본이 0 값을 가집니다. 0 은 false를 의미합니다. 이제 csh,ksh,sh 어떤 shell을 사용하셔도 timeout이 설정됩니다. 확인은 계정 로그인 후 set 이라는 명령어로 확인하면 됩니다. tcsh나 csh는 "분" 단위로 보여지고, ksh나 sh는 "초" 단위로 보여집니다.