자격증 공부/리눅스 마스터 2급

💻 [리눅스] 파일, 디렉토리의 권한 관리 (chmod)

강_토발즈 2024. 12. 10. 00:11

1. 언제 사용하는 명령어 인가?

chmod는 리눅스 및 유닉스 계열 운영 체제에서 파일이나 디렉토리의 권한을 변경하는 데 사용되는 명령어.
이 명령어를 통해 사용자는 파일 또는 디렉토리에 대해 읽기, 쓰기, 실행 권한을 설정할 수 있다.

 

2. 권한의 종류와 범주

  • 권한의 종류 : 읽기 권한(r), 쓰기 권한(w), 실행 권한(x)
  • 권한의 범주 (권한을 갖는 주체) : 소유자(u),그룹(g), 기타(o)

3. 사용법

  • 기호 방식
chmod u+r filename   # 소유자에게 읽기 권한 추가
chmod g+r filename   # 그룹에게 읽기 권한 추가
chmod o+r filename   # 기타 사용자에게 읽기 권한 추가

chmod u-w filename   # 소유자에게 쓰기 권한 제거
chmod g-w filename   # 그룹에게 읽기 권한 제거
chmod o-W filename   # 기타 사용자에게 읽기 권한 제거

chmod u+x filename   # 소유자에게 실행 권한 추가
chmod g+x filename   # 그룹에게 실행 권한 추가
chmod o+x filename   # 기타 사용자에게 실행 권한 추가

 

  • 숫자 방식 (읽기 = 4, 쓰기 = 2, 실행 = 1 을 조합한다. 모든 권한시 7, 5 = 4+1 이며 3 = 2+1)
chmod 644 filename   # 소유자는 읽기 및 쓰기, 그룹과 기타 사용자는 읽기만

chmod 755 filename   # 소유자는 읽기, 쓰기, 실행; 그룹과 기타 사용자는 읽기 및 실행

chmod 000 secret.txt # 특정 파일에서 모든 권한을 제거

숫자 한 칸당 소유자, 그룹, 기타 사용자의 권한을 나타낼 수 있다.

 

4. 권한 확인하기

ls -l filename

 

 

5. Mac OS 의 파일 및 디렉토리 권한 확인 및 변경

 

1.권한 확인 명령어 실행.

ls -l filename

 

2. 내용

  • d : 디렉토리임을 나타낸다. (d : 디렉토리 - : 일반파일 l : 심볼릭 링크)
  • rwxr-xr-x : 권한을 나타낸다 (사용자/그룹/기타사용자 순으로 r w x 권한이 있으면 표시, 없으면 -)
  • 10 : 링크 수(link count)를 나타낸다. (자기 자신 + 하위 디렉토리 갯수)
  • kang : 소유자의 이름.
  • staff : 파일이 속한 그룹 이름.
  • 320 : 파일의 크기. (바이트 단위)
  • 7 30 16:52 : 마지막 수정 날짜와 시간. (7월 30일, 16:52).
  • Backend-School : 디렉토리 또는 파일의 이름.

3. 권한 변경해보기

 

chmod 666 upload

 

chmod 222 upload

 

변경하는 대로 적용되는 것을 확인 했으니 원상복구 하자!

- 해당 파일의 권한을 변경하려면 해당 파일이 속한 디렉토리 내에서 명령어를 실행해야 한다

- 해당 디렉토리의 권한을 확인하려면 상위 디렉토리에서 확인해야 한다.

chmod 777 upload