임의적 접근 통제(DAC)와 파일 권한
설명 영상 임의적 접근 통제(DAC)와 파일 권한 · 2:31
핵심 정리
임의적 접근 통제(DAC)는 객체 소유자가 그 객체의 접근 권한을 정하는 접근 통제 방식이다. 임의적 접근 통제는 객체의 소유자가 그 객체의 접근 권한을 스스로 정하는 방식이다. 정보 소유자가 보안 수준을 정하고 접근 통제를 설정하는 것이 이 방식의 기본 틀이다. 소유자가 접근 권한을 결정
시스템의 모든 객체에는 소유자가 있다. 대부분의 DAC 시스템에서 각 객체의 초기 소유자는 그 객체를 생성한 주체이며, 접근 정책은 소유자가 결정한다. 소유자는 그 객체의 접근 권한을 다른 사용자에게 부여할 수 있으며 사용자 신원에 따라 접근을 제한한다.
접근 권한의 유형은 읽기, 쓰기, 실행으로 나뉜다. 이 권한은 소유자, 그룹, 다른 모든 사용자에 대해 각각 지정할 수 있다. 그래서 같은 파일이라도 주체에 따라 허용되는 동작의 범위가 달라진다.
실행 권한 설정에서 DAC의 성질이 가장 뚜렷하게 드러나는 예가 Set-UID다. Set-UID가 설정된 파일은 실행 중에 실행한 사용자가 아니라 파일 소유자의 권한으로 동작한다. 그러므로 일반 사용자의 실행이 소유자의 권한으로 이뤄지는 경우가 생긴다.
이 방식의 한계는 권한 결정이 소유자의 개별 판단에 맡겨진다는 데서 나온다. 소유자가 개별적으로 권한을 정하므로 권한을 중앙에서 집중 관리하기 어렵다. 접근 권한 제한이 제대로 적용되지 않아 허용되지 않은 데이터나 기능에 접근되는 취약점은 Broken Access Control이다.
자세히
파일 권한 표기와 변경 명령
파일 권한은 소유자, 그룹, 기타 사용자 세 영역에 대해 읽기·쓰기·실행 비트로 표시된다. 맨 앞의 d는 디렉터리를 뜻한다. 예를 들어 -rw-r-xr-x 권한은 숫자로 655로 표현한다.
권한을 바꾸는 도구는 chmod다. chmod는 파일 및 디렉토리의 권한을 변경하는 명령이다. chmod u-w 명령은 소유자의 쓰기 권한을 제거한다. chmod g+w는 그룹에 쓰기 권한을 추가하는 명령이다. 사용자의 실행 권한을 제거하려면 chmod u-x를 사용해야 한다. chmod의 g+wx는 그룹에 쓰기와 실행 권한을 추가하며 기타 사용자에게는 적용되지 않는다. chmod의 a+r은 소유자, 그룹, 기타 사용자 모두에게 읽기 권한을 추가한다.
파일 권한 rwxr-xr-x는 소유자에게 읽기·쓰기·실행, 그룹과 기타 사용자에게 읽기·실행 권한을 준다. chmod 777 명령은 모든 사용자에게 읽기·쓰기·실행 권한을 부여한다. 그룹과 기타 사용자에게 실행(x) 비트가 설정되면 그 사용자들은 해당 파일을 실행할 수 있다. 소유자 권한에 읽기(r) 비트가 설정되어 있으면 소유자는 그 파일을 읽을 수 있다.
Set-UID와 Set-GID의 표시
Set-UID는 소유자 실행 권한 자리에, Set-GID는 그룹 실행 권한 자리에 s 또는 S로 표시된다. chmod 2755로 설정한 파일은 -rwxr-sr-x로 표시되며, 그룹 실행 자리에 s가 나타난다. 숫자 표기에서는 맨 앞자리에 Set-UID는 4, Set-GID는 2, Sticky-Bit는 1을 쓴다. 이 숫자 체계를 알면 앞자리 숫자만으로 특수 권한을 구분할 수 있다.
passwd 명령에는 SetUID가 설정되어 있어 실행 시 root 권한을 얻고, 이 권한으로 /etc/shadow에 접근해 비밀번호를 바꾼다. 일반 사용자가 자기 비밀번호를 바꾸는 것은 이 설정 덕분이다.
임의적 접근 통제의 권한 주체
정보 소유자가 특정 사용자와 그룹에 권한을 부여하는 방식도 DAC다. 사용자가 여러 그룹에 속하고 개별 권한이 정의되지 않으면 소속 그룹들에 할당된 권한을 모두 받는다.
| 구분 | 내용 |
|---|---|
| 권한을 정하는 주체 | 객체의 소유자 |
| 권한을 받는 대상 | 특정 사용자와 그룹 |
| 권한의 유형 | 읽기, 쓰기, 실행 |
| 권한 지정 단위 | 소유자, 그룹, 기타 사용자 |
표의 네 항목을 함께 기억하면 DAC 문장의 주체와 대상을 바로 가를 수 있다.
기본 권한과 umask
파일 및 디렉터리 생성 시 부여되는 기본 권한을 정하는 명령은 umask다. umask는 기본 권한을 정함
파일 기본 권한은 666에서 umask 값을 뺀 값이며, umask가 022이면 권한은 644(rw-r--r--)가 된다. umask 027이 적용된 디렉터리의 소유자 권한은 rwx이다. umask 027은 소유자의 권한을 제거하지 않는다. 제한은 소유자 자리가 아니라 그룹과 기타 사용자 쪽에 걸린다.
이어지는 내용
- 파일 시스템과 네트워크 접근 통제
- 스티키 비트
- 자주 헷갈리는 것
- 기출에서는
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 절 읽기