AubE Log : 오브 로그

일상 생활에 대한 이야기, 프로그램 개발에 대한 기록 등 일련의 기억들을 다시 되짚어 본다.

명령어

chmod : 읽기, 쓰기, 실행 권한, 하위 폴더 디렉토리

오브:AubE 2024. 9. 25. 15:08

chmod 명령어는 파일이나 디렉토리의 권한을 변경할 때 사용된다. UNIX 및 Linux 시스템에서 파일의 읽기, 쓰기, 실행 권한을 관리하는 중요한 도구다.

1. 기본 개념

파일이나 디렉토리의 권한은 세 가지 범주로 나뉜다:

  • 소유자(owner): 파일을 소유한 사용자
  • 그룹(group): 파일을 소유한 사용자가 속한 그룹
  • 기타(others): 위 두 범주에 속하지 않는 모든 사용자

각 범주에 대해 세 가지 권한을 설정할 수 있다:

  • 읽기(read, r): 파일을 읽을 수 있는 권한 (디렉토리인 경우 목록 확인 가능)
  • 쓰기(write, w): 파일을 수정할 수 있는 권한 (디렉토리인 경우 파일 추가/삭제 가능)
  • 실행(execute, x): 파일을 실행할 수 있는 권한 (디렉토리인 경우 접근 가능)

2. 숫자 형식

권한은 8진수로 나타내며, 각 권한은 특정 숫자로 매핑된다:

  • 읽기(r) = 4
  • 쓰기(w) = 2
  • 실행(x) = 1

세 개의 권한을 조합하여 숫자로 표현한다. 예를 들어:

  • 읽기 + 쓰기 + 실행: 7 (4 + 2 + 1)
  • 읽기 + 쓰기: 6 (4 + 2)
  • 읽기 + 실행: 5 (4 + 1)
  • 읽기만: 4
  • 실행만: 1
  • 권한 없음: 0

숫자 조합 예시:

  • chmod 755 file.txt
    • 소유자: 읽기, 쓰기, 실행 (7)
    • 그룹: 읽기, 실행 (5)
    • 기타: 읽기, 실행 (5)

3. 문자 형식

숫자 대신 문자로도 권한을 설정할 수 있다. 이때 u(소유자), g(그룹), o(기타), a(전체)를 사용한다.

  • +: 권한을 추가
  • ``: 권한을 제거
  • =: 특정 권한만 설정

문자 형식 예시:

  • chmod u+x file.txt: 소유자에게 실행 권한을 추가
  • chmod g-w file.txt: 그룹의 쓰기 권한을 제거
  • chmod o=r file.txt: 기타 사용자에게 읽기 권한만 부여

4. 디렉토리 권한

디렉토리에 권한을 설정할 때는 파일과 동일한 방법으로 설정되지만, 의미는 조금 다르다.

  • 읽기 권한(r): 디렉토리의 파일 목록을 볼 수 있음.
  • 쓰기 권한(w): 디렉토리 내에서 파일을 추가하거나 삭제할 수 있음.
  • 실행 권한(x): 디렉토리 내에서 파일에 접근 가능.

하위 디렉토리 및 파일에 권한 적용

  • chmod -R 755 directory/
    : directory/와 그 하위 파일 및 디렉토리 모두에 재귀적으로 755 권한을 적용.

5. 실습 예시

예시 1: 파일에 권한 추가

chmod 644 example.txt
  • 소유자는 읽기/쓰기 권한 (6)
  • 그룹과 기타는 읽기만 가능 (4)

예시 2: 실행 권한 추가

chmod +x script.sh
  • 모든 사용자에게 실행 권한을 추가

예시 3: 디렉토리에 재귀적으로 권한 변경

chmod -R 755 /var/www/html
  • /var/www/html 디렉토리와 그 하위 모든 파일 및 디렉토리에 755 권한 적용

6. 기타 옵션

  • R: 재귀적으로 하위 파일 및 디렉토리 모두에 권한을 적용.
  • -reference: 다른 파일의 권한을 기준으로 설정.
  • chmod --reference=otherfile.txt myfile.txt

요약

  • chmod는 파일과 디렉토리의 권한을 설정하는 명령어로, 8진수(숫자)와 문자 형식으로 설정할 수 있다.
  • 권한은 소유자, 그룹, 기타 사용자로 나누어 설정되며, 읽기, 쓰기, 실행 권한을 조합해 적용한다.

 

https://aube1225.blogspot.com/2024/09/chmod.html

'명령어' 카테고리의 다른 글

맥북에서 폴더를 EC2 서버에 업로드 : scp, ssh  (1) 2024.09.25