─━ IT ━─

리눅스 세션 타임아웃 설정 방법과 예제

DKel 2024. 11. 3. 19:35
반응형
리눅스 시스템에서 세션 타임아웃을 설정하면 사용자가 일정 시간 동안 활동하지 않을 경우 자동으로 로그아웃되도록 할 수 있습니다. 이는 보안과 리소스 관리를 위해 유용합니다. 리눅스에서 세션 타임아웃을 설정하는 방법은 주로 `bash` 셸 환경에서 `TMOUT` 변수를 사용합니다. `TMOUT` 변수는 사용자가 입력하지 않고 대기할 수 있는 초 단위 시간을 설정합니다. 예를 들어 `TMOUT=300`으로 설정하면, 300초(5분) 동안 입력이 없을 경우 자동으로 로그아웃됩니다.

 
```bash
# .bashrc 파일에 아래 코드를 추가하여 세션 타임아웃을 설정합니다.
# 이 설정은 특정 사용자에게 적용됩니다.
echo "export TMOUT=300" >> ~/.bashrc
source ~/.bashrc
```
 
현재 세션 또는 특정 세션에만 적용하고 싶다면 직접 환경 변수로 설정할 수도 있습니다.
 
```bash
# 현재 터미널 세션에 대해 TMOUT 값을 설정합니다.
export TMOUT=300
```
 
전체 시스템에 대해 타임아웃을 적용하려면 `/etc/profile` 파일에 `TMOUT` 변수를 설정할 수 있습니다. 이 경우 시스템의 모든 사용자에게 적용됩니다.
 
```bash
# /etc/profile 파일을 수정합니다.
sudo echo "export TMOUT=300" >> /etc/profile
```
 
`/etc/profile` 파일을 수정할 때는 주의해야 합니다. 잘못된 설정은 시스템 로그인 문제를 발생시킬 수 있습니다. 설정 후 사용자 세션에 적용되도록 사용자 로그아웃 후 다시 로그인하거나, `source /etc/profile`로 변경 사항을 적용하세요.
 
추가로, `SSH` 세션의 타임아웃을 설정하고 싶다면 `sshd_config` 파일에서 `ClientAliveInterval` 및 `ClientAliveCountMax` 옵션을 사용할 수 있습니다. `ClientAliveInterval`는 서버가 클라이언트와의 연결이 여전히 살아있는지 확인하기 위해 얼마나 기다릴지를 지정합니다. `ClientAliveCountMax`는 얼마나 많은 오류 패킷을 허용할지를 지정합니다.
 
```bash
# SSH 서버 설정 파일 편집
sudo nano /etc/ssh/sshd_config
 
# 아래 두 줄을 추가하거나 수정합니다.
ClientAliveInterval 300
ClientAliveCountMax 0
 
# SSH 서비스를 재시작하여 변경사항을 적용합니다.
sudo systemctl restart sshd
```
 
이 설정은 SSH 세션에서의 타임아웃을 300초(5분)로 설정하여, 그 동안 아무 입력도 없으면 연결이 끊기도록 합니다. SSH 설정을 수정한 후에는 설정을 테스트하여 의도한 대로 동작하는지 확인하는 것이 중요합니다.

반응형