반응형
  • CentOS 관리자(root)계정 콘솔 로그인 제한 (linux disable root login console)

CentOS에서 관리자(root) 계정 콘솔 로그인을 제한하는 방법 입니다. (SSH 및 Telnet 등의 원격 접속이 아닙니다)

아래 명령어 한줄로 간단하게 root 계정의 콘솔 로그인을 막을 수 있는데, sed 명령어를 사용하지 않고 직접 /etc/securetty 파일을 열어서 tty를 주석처리 해주어도 됩니다.

sed -i '%s/^tty/#tty/g' /etc/securetty

위와 같이 설정 후 콘솔에서 root 권한이 필요할 경우 일반 유저로 로그인을 한 다음 sudo, su 등을 사용하여 권한을 상승시켜 사용해야 합니다.

 

  • /etc/securetty 파일에서 tty를 주석처리 하는것만으로 root 계정의 콘솔 로그인이 막히는 이유?

centos에는 pam.d라는 사용자 인증 모듈이 있는데, 윈도우로 생각하면 로컬보안정책이라고 보시면 됩니다. 이번 포스팅에서는 pamd에 대해 다루는 글이 아니기 때문에 어떻게 생겻는지만 보도록 하겠습니다.

 

아래 스크린샷을 보면 /etc/pam.d/login 파일 내용중에 pam_securetty.so 라는 모듈이 적용되어 있습니다. (기본 설정)

/etc/pam.d/login

 

이 모듈은 root 계정이 로그인 가능한 터미널들을 지정할 수 있는데, 이러한 터미널들을 정리해둔 파일이 /etc/securetty 입니다.

즉 pam_securetty.so 모듈은 /etc/securetty 파일을 참조하여 "root 계정이 로그인 가능한 터미널인가?" 를 확인하는데, 만약 tty 파일을 모두 주석 처리하게 되면 "root 계정이 로그인 가능한 터미널이 아니다." 라고 인식하여 로그인을 제어하게 되는 겁니다.

  • 간단히 tty는 콘솔 환경의 터미널 정도로 생각 하시면 됩니다.
반응형

+ Recent posts