무효 클릭 IP 추적 중...
리눅스

[Linux] 리눅스 명령어 chmod 사용법

꼬예 2022. 12. 15.

 chmod 는 change mode 약자로 파일이나 디렉토리의 권한을 변경하는 명령어입니다.

 

이번 포스팅에서는  chmod 사용법에 대해 알아보겠습니다.

 

권한은 어디에서 알 수 있지?

 ls -a 명령어를 터미널창에 기입하면 파일들이 아래와 같은 형태로 출력됩니다.

ls -a로 출력한 파일 형태

 

우리가 집중할 부분은 빨간색 사각형 부분인데요.

첫번째열

이중 첫번째 열은 디렉토리(Directory)인지 파일(File)인지 나타냅니다.

여기서 d는 Directory를 의미하고 -는 File을 의미합니다.

 

나머지 9개 열은 3열씩 분리해서 보면 이해가 쉽습니다.

각 3열은 owner, group, other 역할을 하는데요.

 

owner group other

 

자세히 보면 각 칸이 rwx가 반복된다는 걸 알 수 있습니다.

 

각 알파벳이 의미하는것은

 

```

read => 파일 내용을 읽을 수 있는 권한

write => 파일 내용을 변경할 수 있는 권한

execute => 파일을 실행시킬 수 있는 권한

- => 권한 없음

```

으로 정리할 수 있습니다.

 

가령 3번째 파일에 대해 owners는 rw- 니까 파일읽기 및 변경은 가능하나 실행 권한이 없다는 걸 의미합니다.

 

이런 권한을 변경하기 위해서 사용하는 명령어가 바로  chmod 입니다.

 

 

chmod로 권한 변경하는 법(1)

오늘 예제에서 권한을 변경해볼 파일은   chmod.txt 입니다.

권한 변경할 파일

 

(1) other 권한 변경

other 권한 변경

여기서 o는 other을 의미합니다.

r은 읽기 권한을 의미하고 -는 권한을 뺀다는 의미입니다.

즉 정리하면  chmod.txt 파일에 대한 읽기 권한을 other에게서 삭제하겠다는 뜻입니다.

 

실제로 명령어를 작성해보겠습니다.

실제 명령어 작성

output:

r 권한 빠짐

 

이번에는 other에게 write 권한을 추가해보겠습니다.

추가하는 기능은 -가 아닌 +를 사용하면 됩니다.

write 기능 추가

output:

 

(2) owner 권한 변경

owner 권한 변경은 user의 u를 사용합니다.

 

앞에서 설명한 내용과 원리가 같으니 자세한 설명은 생략합니다.

 

user에게서 read 권한 삭제

 

output:

user에게서 read권한 삭제 output

 

(3) Group 권한 변경

group 권한 변경은 group의 g를 사용합니다.

group에 execute 권한 추가

 

output:

group에 execute권한 추가 output

 

참고로 u, g, o에 대한 언급 없이 +x 만 사용한다면

 chmod +x chmod.txt 

모두에게 execute권한 추가

owner, group, others 모두에게 execute 권한을 부여한다는 의미입니다.

 

 

chmod로 변경하는 법(2) - 숫자 이용

구글링을 하다 보면 앞서 배운 방법이 아닌 숫자로   chmod 를 사용하는 걸 보신 적이 있을 겁니다.

 

이 방법을 이해하기 위해선 사전 지식이 필요한데요.

read, write, excute 숫자

read는 4, write는 2, excute는 1 이 숫자를 기억해두시기 바랍니다.

 

이 숫자들의 합을 통해서 아래와 같이 권한의 구성요소를 구현할 수가 있습니다.

숫자합을 통한 구성

 

예시를 통해 연습해보겠습니다.

현재 chmod.txt 권한

 

현재   chmod.txt 파일의 권한을 숫자로 표현해보겠습니다.

 

owner : -w- => 2

group : rwx => 4+2+1 = 7

others : -w- => 2

즉 272로 표현 가능합니다.

 

여기서 owner에 read권한을 부여해보겠습니다. 

read는 숫자로 표현하면 4이기 때문에 owner의 숫자는 2+4로 6이 됩니다.

즉 672로 변경되는 것이죠.

 

이 값을 그대로  chmod 에 적용하면 됩니다.

chmod 672적용

 

output:

chmod 672 output

 

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글