목록으로

권한 체계 이해하기

시리즈, 입문
2024. 4. 10. PM 9:10:59

기본 개념

맥OS와 리눅스에서 파일 권한 개념은 매우 중요합니다. 윈도우에서도 물론 중요한데, 맥OS같은 유닉스 계열과 리눅스 계열에서 권한 개념을 접하는 경우가 더 많은 편이죠. 물론, Shell을 사용해보지 않았다면 파일 또는 디렉터리에 권한이 있는지 인지하는 일이 드물긴 해요. 새로 설치한 앱이 문서나 홈, 또는 다운로드 폴더에 처음 접근하려 할 때 접근을 허용할 것인지 묻는 걸 경험하는 게 대부분이죠.
그런데 늘 사용하는 파인더에서도 접근 권한을 표시하고 관리할 수 있습니다. 파인더에서 함께 확인해보겠습니다. 파인더에서 홈 경로에 있는 그림 디렉터리를 클릭하고 메뉴를 호출합니다. 오른손으로 마우스를 사용한다면 우클릭을 하는 거죠.
메뉴 항목 중 정보 가져오기를 선택하세요.
이 화면은 제 그림 폴더에 대한 정보를 보여줍니다. 본 적 있으신가요? 이 화면을 잘 보면 권한에 대한 정보 영역이 보입니다. 맨 아래에 있는 공유 및 사용 권한이지요. 눌러서 펼쳐보세요.
자기 자신을 제외한 모든 이용자의 접근을 허가하지 않는군요. 이러한 권한은 모든 파일에 부여되어 있습니다. 디렉터리도 파일의 한 형태이니 디렉터리도 해당하고요. 맥OS에서는 까다로운 권한 관리를 최대한 드러나지 않게 사용자 경험이 디자인되어 있습니다. 그런데 Shell에서는 권한을 챙겨야 하죠. 파인더 등 맥OS가 알아서 해주던 일을 Shell에서는 직접 다뤄야 하기 때문이지요. 그래서 Shell을 사용해본 적 없는 사람에게 권한 체계는 Shell에서 부딪히는 벽 중 하나예요.

권한을 지정하는 대상

권한을 지정하는 대상은 크게 세 종류예요.
첫 번째 대상은 사용자 자기 자신. 소유자라고도 합니다. 앞서 등장한 그 소유자 맞아요.
두 번째 대상은 같은 그룹이고요. 터미널에서 id라는 명령어를 실행해 여러분의 사용자 계정이 속한 그룹을 확인해보시겠어요?
저는 이렇게 나오네요. uid는 이용자의 고유한 id입니다. 숫자값은 501이고 문자로 표현되는 username은 hannal 이지요. gid는 그룹 id이고, 마찬가지로 숫자와 name을 함께 보여주는데, 제 계정은 staff 그룹에 속하네요. 내 파일일지라도 그룹에 대해 쓰기 권한을 허용하면 staff 그룹에 속하는 다른 이용자가 내 파일을 변경하거나 삭제할 수 있어요.
마지막으로 누구나(모든 이용자), 즉 제3자입니다. 권한이 미치는 범위가 가장 넓지요.
푸딩캠프 뉴스레터를 구독하면 학습과 성장, 기술에 관해 요약된 컨텐츠를 매주 편하게 받아보실 수 있습니다.
목차