본문 바로가기

OS/리눅스

[리눅스] Permission, 권한에 대해서 알아보자!


Permission


 앞에서 디렉토리를 생성할때 -m 옵션에서 권한 설정을 잠시 엿보았는데요.
권한에 따라서 사용자가 할 수 있는 작업이 다르니 한번 보도록 할까요.

 우선 권한은 다음과 같이 'ls -l' 명령어를 통해서 확인 가능하겠습니다.



확인했을 때 줄 맨 앞이 권한 부분이 되겠습니다.

권한은 총 10개의 문자로 구성이 되는데요, 위에서 보시는 바와 같이 ① 맨 앞 문자를 제외한 나머지는 3개씩으로 나뉘어집니다.
맨 앞의 문자는 형식을 구분해주는 것으로 다음과 같이 이해 가능하겠습니다.

d : 디렉토리
l  : 링크
- : 파일

 그리고 우선, 위에서 보시는 rwx의 문자는 다음을 의미합니다.
r   = read : 읽기가능
w  = write : 쓰기가능
x  = excute : 실행가능

 제가 구획을 나누어 놓은 것을 보셨나요? 보시면 3개씩 나뉘어 지는데요.
3개 구획은 각각 ② 소유자 권한 ③ 그룹 권한 ④ 그 외 사용자 를 의미합니다.

 쉽게 해석하자면 'test' 디렉토리에 대해서 그 디렉토리를 소유하고 있는 iso 계정의 경우에, 'rwx'권한 즉, 읽기·쓰기·실행이 가능하다는 말이겠고, 표시된 그룹에 대해서 즉 'iso' 그룹에 대해서는 역시나 'rwx' 권한으로, 읽기·쓰기·실행이 가능합니다. 그 외 사용자는 'r-x'로 읽기·실행만 가능하다는 말이 되겠습니다. 권한이 없는 작업에 한해서는 권한이 없다는 메시지와 함께 작업이 거부 됩니다.

 권한은 디렉토리를 생성할때 설정이 가능하고, 후에도 변경작업이 가능합니다. 변경작업에 대해서는 다른 글에서 확인하도록 하구요.
디렉토리 생성 관해서는 다음 링크를 참고하시면 되겠습니다.
디렉토리 생성 삭제 관한글 확인하기

 디렉토리 생성시 권한 설정이 다음과 같이 가능하겠습니다.

[실행화면]



 test1 디렉토리를 만들때 -m 옵션과 함께 555라는 퍼미션, 즉 권한을 주었는데요.
각 자리의 숫자는 소유자 권한, 그룹 권한, 그 외 사용자 권한으로 표시됩니다.

 숫자의 의미는 다음값의 합으로 표현이 됩니다.
- = 0
r
  = 2^2(2의 제곱) = 4
w = 2
x = 1
 
 그러니 각 자리의 5의 숫자는 위와 같은 조합으로 r(4) + x(1)= 5 가 된 것이죠.
'ls -l'명령어로 확인했을때 각 권한마다 'r-x'임이 확인 가능합니다.

 다음 상황을 가정후에 한번더 해보도록 할게요. 홈 디렉토리 안에 test2 라는 디렉토리를 만들고 싶은데 소유자에게는 모든 권한을 다 주고 그룹에게는 Write 권한을 뺀 나머지 권한 모두를, 그 외 사용자에게는 권한을 주지 않도록 합니다.
 즉, 소유자에게는 'rwx' 를, 그룹에게는 'r-x'를, 그외 사용자에게는 '---'를 주도록 합니다. 어떻게 해야 할까요?

 소유자는 모든 권한이니까 r(4) + w(2) + x(1) = 7 이 되겠구요, 그룹은 r(4) + -(0) + x(1) = 5, 그외 사용자는 -(0) + -(0) + -(0) =0 이므로, 나타내려는 퍼미션 숫자값은 750 이 되겠습니다. 이 값을 확인하고, 디렉토리를 생성해 보겠습니다.

[실행화면]



 확인 되셨나요? 퍼미션 꼭 중요한 내용이니 숙지하시길 바랍니다 ^^.


도움 되셨다면 밑의 추천(손가락 표시)과 댓글 부탁드립니다.