공부/유닉스

[Unix] 유닉스 이론과 실습: 파일 접근 권한 관리하기 (4)

SOIT 2023. 5. 25. 15:19

2023.05.25 - [공부/유닉스] - [Unix] 유닉스 이론과 실습: 디렉토리 다루기 (1)

2023.05.25 - [공부/유닉스] - [Unix] 유닉스 이론과 실습: 파일 다루기 (2)

2023.05.25 - [공부/유닉스] - [Unix] 유닉스 이론과 실습: 배시 셸 활용하기 (3)

 

[Unix] 유닉스 이론과 실습: 배시 셸 활용하기 (3)

2023.05.25 - [공부/유닉스] - [Unix] 유닉스 이론과 실습: 디렉토리 다루기 (1) 2023.05.25 - [공부/유닉스] - [Unix] 유닉스 이론과 실습: 파일 다루기 (2) [Unix] 유닉스 이론과 실습: 파일 다루기 (2) 2023.05.25 - [

solearn.tistory.com

 

4. 파일 접근 권한 관리하기

  • 간단 지식
    • 파일
      • file
        • 기능: 파일의 종류 출력
        • 형식: file 파일명
        • 예시
          • file /etc/services
      • 접근 권한
        • 해당 파일을 읽고, 쓰고, 실행할 수 있는 권한
        • 사용자의 파일을 보호하는 기본적인 보안 기능
        • 사용자 카테고리
          • 소유자
          • 그룹
          • 기타 사용자
        • 종류
          권한  표기 방법 파일 디렉토리
          읽기 r 파일 읽기, 복사 ls 명령으로 디렉토리 목록 확인
          (ls 옵션은 실행 권한 있어야 사용 가능)
          쓰기 w 파일 수정, 이동, 삭제 파일 생성, 삭제
          실행 x 파일 실행 cd 명령의 사용 가능
          파일을 디렉토리로 이동, 복사
          권한 없음 -    
          • 9개
            • 사용자 카테고리 3개(소유자, 그룹, 기타 사용자)
            • 권한 3개(읽기, 쓰기, 실행)
            • 표기
              • 예시
                • 권한 표기 순서: 읽기(r), 쓰기(w), 실행(x)
                • rw- r— r—
                  • : 파일종류
                  • (소유자) rw- : 읽기, 쓰기, 권한 없음
                  • (그룹) r— : 읽기, 권한 없음, 권한 없음
                  • (기타 사용자) r— : 읽기, 권한 없음, 권한 없음
          • 읽기 권한
            • 변경 (X)
            • 볼 수 (O)
          • 쓰기 권한
            • 변경-수정, 삭제 (O)
            • 볼 수 (O)

      • 사용자가 자신이 소유한 파일 접근 권한 변경
        • 다른 사용자가 소유한 파일의 접근 권한은 바꿀 수 없음 (root만 가능)
          • 변경시: chmod 명령 사용
        • chmod
          • 명령
            • 기능: 파일이나 디렉토리의 접근 권한을 변경
            • 형식: chmod [옵션] 권한모드 파일/디렉토리명
            • 옵션
              • -R : 하위 디렉토리까지 모두 변경
        • 동작 모드
          • 기호 모드: 접근 권한을 변경하기 위해 문자와 기호를 이용해 권한을 표기
          • 숫자 모드: 8진수 사용

  • 기호를 이용한 파일 접근 권한 변경
    • 기호 모드
      • 구성 요소 3가지
        • chmod [사용자 카테고리, 연산자, 권한] 파일명
        1. 사용자 카테고리
          • 문자 표기: 소유자, 그룹, 기타 사용자
            • u: 파일 소유자
            • g: 파일에 속한 그룹
            • o: 기타 사용자
            • a: 전체 모든 사용자
        2. 연산자
          • 기호 표기: 권한 부여, 권한 제거
            • +: 권한 부여
            • -: 권한 제거
            • =: 접근 권한 설정
        3. 권한
          • 문자 표기: 읽기, 쓰기, 실행
            • r: 읽기
            • w: 쓰기
            • x: 실행

 

  • 예시 1
    1. 소유자에게 쓰기 권한 부여
      • u+w
    2. 소유자의 실행 권한 제거
      • u-x
    3. 그룹에게 쓰기 권한 부여
      • g+w
    4. 기타 사용자의 읽기 권한 제거
      • o-r
    5. 그룹에게 쓰기와 실행 권한 부여
      • g+wx
    6. 모든 사용자에게 쓰기와 실행 권한 부여
      • a+wx
    7. 모든 사용자에게 읽기, 쓰기, 실행 권한 부여
      • a+rwx
    8. 소유자에게 읽기, 쓰기, 실행 권한 설정
      • u+rwx
    9. 그룹과 기타 사용자에게 쓰기 권한 부여
      • go+r
    10. 소유자에게 실행 권한을 부여하고 그룹과 기타 사용자에게 쓰기 권한 부여
      • u+x**,**go+w


  • 예시 2
    1. 소유자의 쓰기 권한을 제거
      • u-w
    2. 그룹에 쓰기와 실행 권한 부여
      • g+wx
    3. 기타 사용자에게 실행 권한을 부여
      • o+x
    4. 그룹과 기타 사용자의 실행 권한을 제거
      • go-x
    5. 모두에게 실행 권한을 부여
      • a+x

  • 작성기본권한 확인: ls -l
  • 파일 소유자 권한 변경: chmod [권한변경 모드] [파일 소유자]
    • a.txt 파일의 소유자를 모두에게 주고 실행 권한을 부여하도록 변경
      • chmod a+x a.txt 
    • 기본권한 확인: ls -l

  • 실습
    1. Practice 디렉토리 생성
      • mkdir Practice
      • cd Practice
    2. 파일 권한 확인: 실습용 파일로 /etc/hosts 파일을 현재 디렉토리로 복사하고 기본 권한을 확인한다
      • cp /etc/hosts .
      • ls -l
    3. 소유자 권한 변경하기: hosts 파일 소유자의 권한을 읽기와 쓰기로 변경한다
      • chmod u+rw hosts
    4. 그룹 및 기타 사용자 권한 변경하기: 그룹과 기타 사용자도 쓰기 가능하도록 변경한다
      • chmod go+w hosts
    5. 권한 제거하기: 소유자의 권한만 남겨놓고 나머지 권한은 제거한다
      • chmod go-rw hosts
    6. 디렉토리 위치 변경하기: 실습 디렉토리에서 빠져나가기
      • cd ..

 

728x90