ABOUT ME

작은 디테일에 집착하는 개발자

Today
-
Yesterday
-
Total
-
  • [Linux/Ubuntu] 권한 관리 (파일, 디렉터리의 w 권한 중심으로)
    네이버클라우드 캠프 | BE/Linux 기초 2023. 4. 26. 13:53
    728x90

    1. 리눅스의 권한 관리

    리눅스에서의 권한 관리는 파일이나 디렉터리에 대한 접근 권한을 의미합니다.

    권한에는 읽기, 쓰기, 실행이 있으며, 소유자(user), 소유 그룹(group), 일반 사용자(others)로 구분하여 설정할 수 있습니다.

    *권한 확인 : ls -l (혹은 ls -al) 명령어를 통해 모든 파일의 권한 확인 가능

     

    2. 권한 표기 방법

    리눅스에서는 권한을 나타내기 위해 10자리의 문자열을 사용합니다. 아래의 예시를 통해 확인하도록 하겠습니다.

    예시 설명
    -rwxrwxrwx - rwx rwx rwx
      파일 유형 소유자의 권한 소유 그룹의 권한 일반 사용자의 권한
    <파일 유형 (일부)>
    - : 일반 파일

    d : 디렉터리

     

    권한 설명
    r 읽기 권한 (파일 : 내용 읽기, 디렉터리 : 디렉터리에 포함된 파일/디렉터리 목록 보기)
    w 쓰기 권한 (파일 : 생성/삭제/수정, 디렉터리 : 내용 변경)
    x 실행 권한 (파일 : 읽기 + 실행, 디렉터리 : 목록 보기 + 파일/디렉터리의 실행/접근)
    - 권한 없음

     

    3. 권한 변경

    리눅스에서는 chmod 명령어를 사용해, 파일이나 디렉터리의 권한을 변경할 수 있습니다.

    chmod 명령어는 아래와 같은 형식으로 사용합니다.

    chmod [옵션] 권한 파일이나 디렉토리
    <옵션 예시>
    -R : 해당 디렉터리 내 모든 파일 및 하위 디렉터리에 대한 권한도 모두 변경

     

    명령어 예시 설명
    chmod chmod 750 ~ 홈디렉터리에 대해 user에 rwx, group에 r-x, others에 --- 권한 부여
    chmod o=r ~ 홈디렉터리에 대해 other의 read 권한(만) 설정
    chmod a-w ~ 홈디렉터리에 대해 모두에게 w 권한 삭제

    : 디렉터리에 대한 write이 없으므로, 디렉터리 내 파일 삭제 불가
    chmod ug+w temp temp에 대해 user와  group의 write 권한 추가
    chmod go-r temp temp에 대해 group와  other의 read 권한 삭제
    <권한 변경 용어>
    a : all

    u : user
    g : group
    o : others

     

    chmod 750 ~

    <750의 의미>
    첫 번째 자리 7 : r(읽기), w(쓰기), x(실행) 권한 설정
    두 번째 자리 5 : r(읽기), x(실행) 권한 설정
    세 번째 자리 0 : 권한 미설정

    첫 번째 자리는 user, 두 번째 자리는 group, 세 번째 자리는 others의 권한을 설정하는 것이라고 생각하면 됩니다.

    r은 2의 2승(4)w는 2의 1승(2)x 2의 0승(1)

     

    + 파일에 대한 w 권한 vs 디렉터리에 대한 w 권한

    아래 그림과 같이 디렉터리와 파일을 설정하여, 실습을 진행했습니다.

     

    (0) 디렉터리 및 파일 생성

    mkdir temp    // 디렉터리 생성
    cd temp         // 디렉터리로 이동
    touch test.txt // 0byte 파일 생성
    ls -al              // 디렉터리 내 파일 조회

     

    (1) 파일에 대해 w 권한 설정 시, 파일 삭제 여부

    파일에 대해 w 권한이 설정되어 있을 경우 삭제할 것인지 되묻지 않고, 바로 삭제합니다.

     

    (2) 파일에 대한 w 권한 미설정 시, 파일 삭제 여부

    파일에 대해 w 권한을 설정하지 않을 경우에는 삭제할 것인지 되물으며, n 입력 시에는 삭제되지 않습니다.

    만약 되묻는 과정에서 y를 입력한다면, 예상하는 바와 같이 파일이 삭제됩니다.

     

    (3) 디렉터리에 대한 w 권한 미설정 시, 파일 삭제 여부

    디렉터리에 대한 w 권한을 설정하지 않을 경우에는 디렉터리 내에 존재하는 어떠한 파일도 삭제할 수 없습니다.

     

    "즉, 디렉터리에 대한 w 권한이 없다면 파일의 w 권한 여부와 상관없이, 디렉터리 내 파일을 삭제할 수 없다.

    디렉터리에 대한 w 권한이 있고 파일에 대한 w 권한이 없다면, 삭제 여부를 되묻고 파일을 삭제할 수 있다.

    디렉터리에 대한 w 권한이 있고 파일에 대한 w 권한이 있다면, 삭제 여부를 묻지 않고 파일을 삭제할 수 있다."

Designed by Tistory.