Intro

Mac 시스템 내부의 모든 파일은 User 라고하는 파일의 관리자가 명시되어 있으며, 관리자 외의 다른 User 는 파일의 읽기 및 쓰기 권한에 제한을 받을 수 있습니다. 사실 맥북같은 경우 혼자 사용하기 때문에 이런 권한들에 대해 거의 관심을 가져본 적이 없지만, 그래도 기본 개념정도로 알아두고 지나가면 좋을 것 같아 정리를 해볼려고요! ㅎㅎ


Finder 에서 User 및 권한 확인하기

먼저 내 맥북에는 어떤 User 가 있는지 확인을 해보겠습니다. Finder 를 열고 최상위 루트로 가보면 아래 스크린샷처럼 유저 목록이 보일거에요. 제 맥북에는 kasshared 두 개의 User 가 존재하네요. 그동안 한번도 신경쓰지 않았더라도 우리는 항상 어떤 User 로서 맥북에서 작업을 하고 있었답니다.

Finder 의 User

이제 Finder 에서 아무 파일이나 폴더를 클릭하고 command + i 를 눌러 접근 권한을 확인해볼게요. 새로운 창이 하나 떳을텐데 이곳의 가장 아래쪽에서 User 별 접근권한 목록을 확인할 수 있습니다.

Finder 의 접근권한

제가 열은 폴더를 기준으로 kas 라는 User 는 모든 권한을 가지고 있고, everyone 이라는 User 는 어떤 권한도 갖고있지 않네요 ㅎㅎ 참고로 everyone 은 이곳에 따로 명시된 User 외에 다른 모든 User 를 뜻합니다.


Terminal 에서 User 및 권한 확인하기

이제 Terminal 에서 같은 결과를 확인해보도록 할게요. 조금 전 Finder 에서 열었던 것과 경로에서 ls -l 커맨드를 입력해보세요. 출력된 내용의 좌측에 알 수 없는 영문들이 보일텐데 이것이 우리가 조금 전 Finder 에서 본 것과 똑같은 내용입니다.

Terminal 에서 권한 확인

접근권한에 대해 조금 더 자세히 알아보기 전에 Terminal 에 출력된 내용을 우측부터 하나씩 정리해볼게요.

일단 가장 오른쪽에 위치한 것은 이미 알고 계셨겠지만 파일이나 폴더의 이름입니다. 그리고 그 옆에 있는 날짜는 해당 폴더나 파일이 최종적으로 생성되거나 업데이트된 날짜를 의미합니다. 그리고 그 옆의 숫자는 용량인데요. 이 상태로는 우리가 알아보기 쉽지 않은 형태이기 때문에 그냥 용량을 의미하는구나 정도로만 알아두세요.

그리고 다시 옆에 staff 라고 써진 부분이 보이는데요. 이것은 Group 을 의미합니다. 앞서 설명드리진 않았지만 모든 User 는 특정 Group 에 속해있거든요. 일단은 이 부분도 이 정도만 알고 넘어가면 될 것 같아요. 그리고 다시 옆을 보면 kas 라는 단어가 보이죠? 이것이 해당 폴더나 파일의 Owner 즉 관리자를 의미합니다.

Owner 옆에 있는 숫자는 해당 파일이나 폴더에 연결되어 있는 link 의 갯수를 뜻하는데요. 우리에게 별 의미가 없는 부분이므로 스킵하겠습니다.

마지막으로 가장 왼쪽에 위치한 부분이 바로 접근권한입니다. 하나씩 살펴볼게요. 일단 이것을 읽는 방법은 첫번째 글자를 먼저 해석하고, 나머지는 3 글자 단위로 묶어서 해석을 하면 되는데요. 그래서 첫 글자부터 살펴보면 현재 표시된 내용이 파일인지 폴더인지를 구분하는 역할입니다. 제가 찍은 스크린샷에서는 전부 폴더만 있는 경로라 모두 d 로 시작하네요. 파일은 - 로 시작합니다.

이 다음부터는 3 글자씩 끊어서 읽으면 된다고 했죠?? 그러니까 첫번째 글자 다음으로 오는 3 글자 rwx 만 생각해볼게요. 얘네는 Owner 의 권한입니다.

각 알파벳이 뜻하는 의미는 이렇습니다.

  • r 은 readable
  • w 는 writable
  • x 는 executable

각각 순서대로 읽기, 쓰기, 실행이고, 만약 - 로 표시되어 있다면 해당 권한이 없다는 뜻입니다. 지금 우리가 보는 부분은 Owner 의 접근권한인만큼 웬만하면 거의 모든 권한이 다 있을거에요.

다음 3 글자는 staff 라는 Group 이 접근할 수 있는 권한을 의미합니다. 위에서 Group 이라는게 있다고만 설명했었는데요. 어떤 User 는 여러 개의 Group 에 동시에 속할 수 있습니다. 그리고 만약 해당 UserOwner 가 아니라면 Group 의 권한을 갖게되는 거에요.

마지막 3 글자는 Owner 가 아니고 Group 에 속하지 않은 User 의 권한을 의미합니다.


Wrap Up

이렇게 UserGroup 의 존재, 그리고 파일의 접근권한에 대해 알아보았는데요. Terminal 을 사용하다보면 자주 볼 수밖에 없는 부분인만큼 정확히 알아두고 지나가면 좋을 것 같아서 공부해보았습니다. 사실 제 기준으로는 아직까지 이 개념들을 유용하게 써볼 일은 없었어요 ㅎㅎㅎ 그래도 알아두고 지나가자구요!!