chmod 는 change mode 약자로 파일이나 디렉토리의 권한을 변경하는 명령어입니다.
이번 포스팅에서는 chmod 사용법에 대해 알아보겠습니다.
권한은 어디에서 알 수 있지?
ls -a 명령어를 터미널창에 기입하면 파일들이 아래와 같은 형태로 출력됩니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - 권한은 어디에서 알 수 있지? ls -a로 출력한 파일 형태](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
우리가 집중할 부분은 빨간색 사각형 부분인데요.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - 권한은 어디에서 알 수 있지? 첫번째열](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
이중 첫번째 열은 디렉토리(Directory)인지 파일(File)인지 나타냅니다.
여기서 d는 Directory를 의미하고 -는 File을 의미합니다.
나머지 9개 열은 3열씩 분리해서 보면 이해가 쉽습니다.
각 3열은 owner, group, other 역할을 하는데요.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - 권한은 어디에서 알 수 있지? owner group other](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
자세히 보면 각 칸이 rwx가 반복된다는 걸 알 수 있습니다.
각 알파벳이 의미하는것은
`
read => 파일 내용을 읽을 수 있는 권한
write => 파일 내용을 변경할 수 있는 권한
execute => 파일을 실행시킬 수 있는 권한
- => 권한 없음
`
으로 정리할 수 있습니다.
가령 3번째 파일에 대해 owners는 rw- 니까 파일읽기 및 변경은 가능하나 실행 권한이 없다는 걸 의미합니다.
이런 권한을 변경하기 위해서 사용하는 명령어가 바로 chmod 입니다.
chmod로 권한 변경하는 법(1)
오늘 예제에서 권한을 변경해볼 파일은 chmod.txt 입니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) 권한 변경할 파일](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
(1) other 권한 변경
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) other 권한 변경](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
여기서 o는 other을 의미합니다.
r은 읽기 권한을 의미하고 -는 권한을 뺀다는 의미입니다.
즉 정리하면 chmod.txt 파일에 대한 읽기 권한을 other에게서 삭제하겠다는 뜻입니다.
실제로 명령어를 작성해보겠습니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) 실제 명령어 작성](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
output:
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) r 권한 빠짐](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
이번에는 other에게 write 권한을 추가해보겠습니다.
추가하는 기능은 -가 아닌 +를 사용하면 됩니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) write 기능 추가](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
output:
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) [Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1)](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
(2) owner 권한 변경
owner 권한 변경은 user의 u를 사용합니다.
앞에서 설명한 내용과 원리가 같으니 자세한 설명은 생략합니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) user에게서 read 권한 삭제](https://blog.kakaocdn.net/dn/PwRbp/btrTEyi6uFp/JmX8VUoDGIQHJWxrAkxxV0/img.png)
output:
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) user에게서 read권한 삭제 output](https://blog.kakaocdn.net/dn/dJlv5F/btrTFfJU4tN/RF1qkQERo2XWXhuHfk4Krk/img.png)
(3) Group 권한 변경
group 권한 변경은 group의 g를 사용합니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) group에 execute 권한 추가](https://blog.kakaocdn.net/dn/bLHW78/btrTFJYi2JO/Co9SQK02lLHEbcuwyKe7i0/img.png)
output:
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) group에 execute권한 추가 output](https://blog.kakaocdn.net/dn/4Dc8K/btrTFczQBVF/utGffNfp1ldGrEUCgkJ1Y1/img.png)
참고로 u, g, o에 대한 언급 없이 +x 만 사용한다면
chmod +x chmod.txt
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 권한 변경하는 법(1) 모두에게 execute권한 추가](https://blog.kakaocdn.net/dn/dpqdZm/btrTFfb5IhG/webHud9NDqvjQKiH9pfY70/img.png)
owner, group, others 모두에게 execute 권한을 부여한다는 의미입니다.
chmod로 변경하는 법(2) - 숫자 이용
구글링을 하다 보면 앞서 배운 방법이 아닌 숫자로 chmod 를 사용하는 걸 보신 적이 있을 겁니다.
이 방법을 이해하기 위해선 사전 지식이 필요한데요.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 변경하는 법(2) - 숫자 이용 read, write, excute 숫자](https://blog.kakaocdn.net/dn/DXlwD/btrTFXIWh0U/DXF84HYl66vnr4WTfkoSak/img.png)
read는 4, write는 2, excute는 1 이 숫자를 기억해두시기 바랍니다.
이 숫자들의 합을 통해서 아래와 같이 권한의 구성요소를 구현할 수가 있습니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 변경하는 법(2) - 숫자 이용 숫자합을 통한 구성](https://blog.kakaocdn.net/dn/caSDch/btrTEPx8tFv/GXumOLaKJlsUxHwULWmi30/img.png)
예시를 통해 연습해보겠습니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 변경하는 법(2) - 숫자 이용 현재 chmod.txt 권한](https://blog.kakaocdn.net/dn/bZcHos/btrTGYglnLp/K6hJGKg23jerfPLr0E0CD1/img.png)
현재 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 에 적용하면 됩니다.
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 변경하는 법(2) - 숫자 이용 chmod 672적용](https://blog.kakaocdn.net/dn/ntvzl/btrTEXQhuu9/CnGhIh2dLQFkETK9KR16m1/img.png)
output:
![[Linux] 리눅스 명령어 chmod 사용법 - undefined - chmod로 변경하는 법(2) - 숫자 이용 chmod 672 output](https://blog.kakaocdn.net/dn/sYcwC/btrTExYO6CF/D6k3862kIgbjJ4MgNytejk/img.png)
'리눅스' 카테고리의 다른 글
[Docker] 도커 컴포즈(docker-compose) 사용법 (0) | 2022.12.19 |
---|---|
[Docker] yaml: did not find expected '-' indicator 에러 해결 방법 (0) | 2022.12.14 |
[Docker] 도커 허브(docker hub)에 이미지 올리기 (0) | 2022.12.13 |
[docker] docker: Error response from daemon: failed to create shim task: OCI runtime create failed: 도커 에러 해결방법 (0) | 2022.12.13 |
[Docker] 도커에서 주피터 노트북 원격 접속 방법 (1) | 2022.12.12 |
댓글