71일차 - 사용 권한

김민찬·2021년 7월 19일
0

취업으로의 여정

목록 보기
72/196

오늘은 사용 권한에 대해서 이야기해 볼려고 한다.

이 사이트를 주로 참고했다.

리눅스 터미널에서 폴더나 파일의 사용권한을 확인하고 싶으면 확인하고 싶은 폴더나 파일이 있는 장소로 cd를 이용해서 이동한 뒤 아래처럼 'ls -l' 이나 줄임말인 'll'을 터미널에 입렵하면 사용 권한을 확인할 수 있다.

ls -l 
ll


터미널에 사용권한을 확인하는 명령어를 입력하면 가장 좌측에 위에있는 그림처럼 10자리의 문자가 나올 것이다.
4 부분으로 나눌 수 있는데

  • 1 번 째 : 첫 번째 자리에 들어있는 숫자는 폴더인지 파일인지를 알려준다.
    " - " 이라고 되어있으면 파일이다.
    " d " d는 directory로 폴더라는 것을 알려주는 것이다.
    " l " l은 링크라는 표시다.

  • 2 ~ 4 번 째 : owner / user
    파일의 소유자의 권한을 나타낸다.

  • 5 ~ 7 번 째 : group
    파일의 소유자가 속한 그룹의 권한을 나타낸다.

  • 8 ~ 10 번 째 : other
    파일에 대한 액세스 권한이 있는 다른 user를 나타낸다. 파일을 만든 user가 아니면 모두 other이다.

그러면 r, w, x 문자의 각각 의미하는 바는 무엇일까?

  • r은 read permission 읽기 권한이다.
  • w은 write permission 쓰기 권한이다.
  • x는 execute permission 실행 권한이다.

위에 있는 그림의

-rwxr--r--

은 파일이고 owner에게는 읽기, 쓰기, 실행 권한이 모두 있고, group과 other에게는 읽기 권한만 있다는 것을 뜻한다.

그러면 권한을 변경하려면 어떻게 해야 할까?

권한을 변경하는 명령어 "chmod"를 사용하면 된다.

명령어 chmod는 OS에 로그인한 사용자와 폴더 or 파일의 owner가 같을경우 권한을 변경할 수 있다. 만약 다를 경우 관리자 권한을 받는 명령어 "sudo"를 통해 관리자 권한을 일시적으로 받아서 변경할 수 있다.

chmod로 권한을 변경할 때는 두 가지 방법으로 할 수 있다.

  • ' + ', ' - ', ' = ' 등으로 변경하는 Symbolic method
  • 2진법을 이용해서 권한을 변경하는 Absolute form이다.

Symbolic method

Access classOperatorAccess Type
u (user === owner)+(add access)r (read)
g (group)- (remove access)w (write)
o (other)= (set exact access)x (execute)
a (all: u, g, and o)

예시를 써보자면

chmod u+r filename # 이렇게 작성하면 user(owner)에게 읽기 권한을 주는 것이다.
chmod g-x filename # group의 실행 권한을 없애는 것이다.

이런 방식도 있지만 한 번에 여러 개의 권한을 변경 할 수도 있다. (아래 예시는 위에서 부터 순서대로 실행한다고 가정한다)

chmod a=rwx filename # filename 이라는 파일의 권한이 -rwxrwxrwx 로 변경된다.
chmod ug-rx filename # filename 이라는 파일의 권한이 --w--w-rwx 로 변경된다.
chmod a= filename # filename 이라는 파일의 권한이 ---------- 로 변경된다.
chmod g=wx filename # filename 이라는 파일의 권한이 -----wx--- 로 변경된다.
chmod u+rwx filename # filename 이라는 파일의 권한이 -rwx-wx--- 로 변경된다.

Absolute form은 3 bits의 합으로 표기한다.

  • Read 권한은 4 (22)이다.
  • Write 권한은 2 (21)이다.
  • Execute 권한은 1 (20)이다.

만약 읽기와 실행 권한을 주고 싶으면 읽기 권한의 4와 실행 권한의 1을 합쳐서 5를 주면 되는 것이다.
숫자는 순서대로 owner, group, other의 권한 순이다.

예시를 써보자면

chmod 731 filename # filename 이라는 파일의 권한이 -rwx-wx--x 로 변경된다.
chmod 600 filename # filename 이라는 파일의 권한이 -rw------- 로 변경된다.
chmod 371 filename # filename 이라는 파일의 권한이 --wxrwx--x 로 변경된다.

개인적으로 Absolute form이 적응 하면 더 쉽다는 생각이 든다.

profile
두려움 없이

0개의 댓글