리눅스 securetty
IT위키
더 많은 작업
- root 계정이 로그인할 수 있는 터미널을 정의한다.
- 위치 : /etc/securetty
pam_securetty 는 root 가 securetty 파일에 적힌 "안전한" 터미널에서 로그인할 때만 인증을 통과시키는 auth 유형 모듈이다. 일반 사용자에게는 영향이 없고, 파일이 없거나 누구나 쓸 수 있는 파일이면 쓰지 않는다. 정상적인 쓰임은 다른 sufficient 인증보다 앞에 required 로 두는 것이다.[2]
# /etc/pam.d/login auth required pam_securetty.so auth required pam_unix.so
텔넷 같은 원격 접속은 가상 터미널(pts/0, pts/1 …)로 들어온다. 그래서 root 의 원격 로그인을 막으려면 두 파일을 함께 손본다.
- /etc/pam.d/login 에
auth required pam_securetty.so줄이 있는지 확인한다(주석 처리돼 있으면 푼다) - /etc/securetty 에서 pts/* 항목을 지워 콘솔·로컬 tty 만 남긴다
그러면 root 는 콘솔에서만 직접 로그인하고, 원격에서는 일반 계정으로 들어온 뒤 su·sudo 로 권한을 얻는다.
- SSH 는 이 파일을 쓰지 않는다. sshd 는 /etc/ssh/sshd_config 의
PermitRootLogin no로 막는다 → 리눅스 시스템 보안
| 파일 | 내용 | root 원격 로그인 제한과의 관계 |
|---|---|---|
| /etc/securetty | root 로그인 허용 터미널 목록 | pts 항목을 지워 원격 터미널을 막는다 |
| /etc/pam.d/login | login 서비스의 PAM 설정 | pam_securetty 를 호출하게 한다 |
| /etc/passwd | 계정 이름, UID·GID, 홈 디렉터리, 로그인 셸 | 터미널별 제한이 없다. root 셸을 바꾸면 콘솔 로그인까지 막힌다 |
| /etc/shadow | 암호화된 비밀번호와 비밀번호 사용 기간 | 비밀번호 정책 파일이다 |
| /etc/crontab | 주기적으로 실행할 작업 | 로그인과 관계없다 |
- ↑ 「securetty(5) - Linux manual page」, man7.org, https://man7.org/linux/man-pages/man5/securetty.5.html, 확인일: 2026-11-04.
- ↑ 「pam_securetty(8) - Linux manual page」, man7.org, https://man7.org/linux/man-pages/man8/pam_securetty.8.html, 확인일: 2026-11-04.