Linux - chmod

2023. 5. 6. 21:44·Linux
반응형

 

이번 포스팅에서는 Linux에서 파일 또는 디렉토리의 권한을 변경하는데 사용하는 명령어인 chmod에 대해 알아보고자 한다. 기타 다른 기본 명령어에 대해서는 이전 포스팅을 참고하면 좋을듯 하다.

2023.04.09 - [Linux] - Linux - 기본 명령어 정리

 

Linux - 기본 명령어 정리

이번 포스팅에서는 Linux 에서 사용하는 기본 명령어에 대해 간단하게 정리해 보고자 한다. 👉 cat 파일 내용을 화면에 표시함. ex) cat abc.txt → abc.txt 파일의 내용을 화면에 표시한다. 👉 cd 디렉토

bitkunst.tistory.com

 

Linux CLI 환경에서 ls -l 명령어를 사용하면 모든 파일과 디렉토리를 긴 형식으로 나열해서 볼 수 있는데, 다음과 같은 형식으로 파일 및 디렉토리의 권한이 보이는 것을 확인할 수 있다.

ls -l 실행 결과

Linux에서는 파일의 권한(permission)을 10자리로 표현하는데 1번째 자리는 디렉토리(d) 또는 파일(-)을, 2~4번째 자리는 소유자(Owner) 권한을, 5~7번째 자리는 그룹(Group) 권한을, 8~10번째 자리는 기타 사용자(Other) 권한을 의미한다. 그리고 각 자리는 r(읽기), w(쓰기), x(실행), -(권한없음)으로 표시한다. 다음의 예시를 살펴보도록 하자.

예시

  • 파일 구분(-)  :  파일을 의미
  • 소유자 권한(rwx)  :  읽기, 쓰기, 실행 가능
  • 그룹 권한(rwx)  :  읽기, 쓰기, 실행 가능
  • 기타 사용자 권한(r-w)  :  읽기, 실행만 가능

chmod 명령어는 이렇게 파일 및 디렉토리에 부여되어 있는 권한을 변경할 수 있게 해주는 명령어이다. 예를 들어 사용자(u)에게 test.txt 파일의 읽기(r), 쓰기(w), 실행(x) 권한을 부여하고 싶을 때 다음과 같이 명령어를 사용할 수 있다. 여기서 사용자(u)는 파일의 소유자(Owner)를 의미한다.

chmod u=rwx test.txt

더 나아가 chmod 명령어를 사용할 경우 위의 권한 표현 방식을 8진수로 변경하여 사용할 수도 있다. 변경 방법은 파일 구분을 제외한 각 권한을 권한있음(1)과 권한없음(0)으로 바꾼 뒤 8진수로 변환하여 chmod 명령어의 매개변수로 사용하면 된다.

 

1. 위의 rwx rwx r-x 에서 "-"는 0, 나머지는 1로 바꾸어 준다.

rwx rwx r-x  →  111 111 101

 

2. 이제 3자리의 2진수를 8진수로 변환한다.

111 = 7 , 101 = 5

111 111 101  →  7 7 5

 

3. 마지막으로 chmod 명령문을 다음과 같이 완성해준다.

chmod 775 [filename]

 

읽기(r), 쓰기(w), 실행(x) 권한은 각각 4, 2, 1의 값을 가진다. 소유자에게 읽기, 쓰기, 실행 권한을 부여하고 싶다면 권한코드는 rwx 가 되고 그 값은 4+2+1 이 된다. 그룹에게 읽기, 실행 권한을 부여하고 싶다면 권한코드는 r-x 가 되며 그 값은 4+1 이 되고, 기타 사용자에게는 실행 권한만을 부여하고 싶다면 권한코드는 --x 가 되며 그 값은 1 이 된다. 이제 명령어를 다음과 같이 사용할 수 있다.

chmod 751 test.txt

test.txt 파일의 권한을 부여함에 있어 소유자에게는 7(4+2+1)의 권한을, 그룹에게는 5(4+1)의 권한을, 기타 사용자에게는 1의 권한을 부여한다는 의미를 갖게 된다.

 

< 권한 코드 >
읽기(r) 권한  :  4
쓰기(w) 권한  :  2
실행(x) 권한  :  1

읽기(r), 쓰기(w), 실행(x) 권한 부여  :  111  →  4+2+1  →  7
읽기(r), 실행(x) 권한 부여  :  101  →  4+0+1  →  5
실행(x) 권한 부여  :  001  →  0+0+1  →  1

 

 

 

 

 

반응형

'Linux' 카테고리의 다른 글

Linux - 기본 명령어 정리  (0) 2023.04.09
'Linux' 카테고리의 다른 글
  • Linux - 기본 명령어 정리
bitkunst
bitkunst
Ever tried, Ever failed, No matter. Try again, Fail again, Fail better.
  • bitkunst
    THE DEVELOPER
    bitkunst
  • 전체
    오늘
    어제
  • bitkunst GitHub
    • 분류 전체보기 (154)
      • Setup (1)
      • HTML (7)
      • CSS (10)
      • Go (2)
      • JavaScript (14)
      • TypeScript (3)
      • Node (34)
        • Node.js (7)
        • Express (19)
        • NestJS (8)
      • React (19)
      • MySQL (6)
      • BlockChain (14)
      • Ethereum (20)
      • AWS (5)
      • Linux (2)
      • Infra (2)
        • Docker (2)
      • Testing (2)
      • ABOUT CS (11)
      • 토이 프로젝트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    타입스크립트 블록 체인
    Blockchain
    이더리움 스마트 컨트랙트
    JavaScript
    이더리움
    redux
    타입스크립트로 블록 체인 만들기
    React
    블록체인 지갑 서버 만들기
    TypeScript Blockchain
    AWS
    리액트
    웹
    nodejs mysql
    AWS EC2
    Ethereum
    nestJS
    타입스크립트로 블록체인 만들기
    블록체인 트랜잭션 만들기
    Nest
    Nodejs
    블록체인
    자바스크립트
    css
    html
    프론트엔드
    타입스크립트 블록체인 만들기
    웹프론트엔드
    CSS Style
    웹개발
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
bitkunst
Linux - chmod
상단으로

티스토리툴바