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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

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

티스토리툴바