'관리자모드' 태그의 글 목록 :: YJcode

커널은 기본적으로 유저가 사용하기에 적절한 사용자 모드와, 커널을 직접 수정 혹은, 중요한 파일에 접근할 수 있는 커널 모드가 존재한다.

 

커널 모드에서는 모든 파일에 대한 접근이 가능하지만 사용자 모드에서는 제한된 권한을 가지고 허용된 파일만 보거나 쓸 수 있다.

 

굳이 사용자 모드를 별도로 두고 관리하는 이유는 무엇일까? 여러 이유가 있지만 아래에 2가지 대표적인 이유를 들겠다.

 

  • 보안 측면에서 권한을 제한하는 것은 정말 중요하다. 만약 컴퓨터를 부팅하고, 유저 인터페이스가 돌아가는 순간부터 모든 권한이 오픈되어 있다고 생각해보자. 해커들에게는 이보다 더한 천국이 있을 수가 없다. 왜냐하면, 모든 권한이 오픈되어 있다는 것은 달리 말하면 누군가가 원격이든, 직접적으로든, 특정 컴퓨터에 접근만 할 수 있다면, 바이러스를 여기저기 심어 두고, 중요한 개인정보를 아무 때나, 어디서나 뽑아가는 게 가능해지기 때문이다.
  • 건드리면 위험한 파일을 따로 관리할 수 있다. 커널 모드에서는 모든 파일에 대한 권한을, 유저 모드에서는 잘못 건드려서 망가져도 운영체제를 실행하는 데는 문제없는(ex. 부팅을 관장하는 부트로더와 같은 파일이 아닌 메모장과 같은 일반 파일) 파일들에 대한 접근만 허용한다면, 컴퓨터를 만질 때마다 차후 부팅이 실패할까 걱정할 필요가 없어진다. 잘못 건드리면 심각한 문제가 발생할 여지가 있는 파일 또는 프로그램에 대한 접근을 차단하여, 우발적인 시스템 손상을 방지하는 것이다.

 

리눅스뿐만 아니라 윈도우도 사실 이러한 모드의 구분을 하고 있다. windows10을 보면, 무엇인가 새로운 프로그램을 설치하려고 할 때 관리자 모드로 실행하겠냐고 묻는 대화 상자가 뜨는 것을 볼 수 있을 것이다.

이 또한 해당 프로그램 설치를 위해서 민감한 영역을 건드리고, 필요에 따라서 백그라운드로 프로그램을 실행하는 등 보안과 밀접하게 연관된 권한을 얻어야 한다는 이유에서 권한을 상승해서 커널 모드(관리자모드)로 프로그램을 설치하겠냐고 묻는 것이다.

게다가 지금에 와서는 윈도우나 리눅스 모드 멀티유저 환경을 제공하여 주고 있다.

한 컴퓨터에 여러 유저(계정)를 만들어 두고 각각의 계정으로 접속할 때 각기 다른 화면을 보여줌으로써 컴퓨터를 공유해서 사용하여야 하는 상황이 발생했을 때 조금 더 독립적인 환경을 구성할 수 있게 되는 것이다.

+ Recent posts