[리눅스마스터 2급 2차] 파일시스템 관련 명령어

ssook·2021년 6월 18일
0
post-thumbnail

✋🏻 리눅스마스터 2급 땄을 때 예전 기술블로그에 작성했던 내용을 옮겨온 것입니다.

1-1 권한 및 그룹 설정

❗️ 권한의 개요

소유권과 허가권

  • 소유권

**사용자 소유권과 그룹 소유권으로 나뉨**

  • 허가권

**사용자/그룹/다른 사용자로 나누어 설정**

) -rw-rw-r--.(허가권) 1 sook(그룹 소유권) sook (그룹 소유권) 90 Aug 6 12:46 sook.txt
  • 첫번째 영역 - 파일의 타입/ 두번째 영역 - 허가권
rwx(사용자에게 적용) rwx(그룹에 속한 사용자), r--(타 사용자)   

권한이 있는 경우에는 해당 권한을 대표하는 문자(read-r, write-w, x-execute)로 표기되고, 권한이 없는 경우에는 -로 표기.

❗️ 관련 명령어

chmod(change mode)

**① 문자모드**

  • 알파벳 기호를 사용
  • 권한 표시는 r,w,x를 사용하고 사용자의 지정은 u,g,o,a를 사용
  • 접근권한의 설정은 기존의 권한에서 +,- 기호를 이용하여 설정 또는 해제를 할 수 있고,
    = 기호는 특정 권한만 지정할 때 이용

**② 숫자모드**

  • 8진수의 값을 사용
  • 읽기 권한은 4, 쓰기 권한은 2, 실행 권한은 1이라는 가중치 값을 부여

**사용 예**

$ chmod ugo+rwx aa.txt

: 모든 사용자에게 모든 권한을 줌.

$ chmod o=r /etc/fstab

: etc/fstab이라는 파일을 다른 사용자가 읽을 수만 있도록 설정/

$ chmod 66 aa.txt

: 'chmod 066 a.txt'과 같은 설정으로 소유자에게 어떠한 권한도 설정하지 않음.

✅ chown(change owner)

  • 파일이나 디렉터리의 소유권 및 그룹 소유권을 변경하는 명령

**주요 옵션**

  • -R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 소유 권한을 변경

**사용 예**

$ chown 500 sook.txt

: sook.txt 파일의 소유자를 UID가 500인 사용자로 설정

chgrp(change group)

  • 파일이나 디렉터리의 소유 그룹을 바꾸는 명령

**주요 옵션**

-R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한을 변경

umask

  • 파일이나 디렉터리 생성 시 부여되는 기본 허가권 값을 지정하는 명령
  • 파일 생성 시 666, 디렉터리인 경우 777에서 설정한 umask값을 뺀 값을 기본 허가권으로 지정

**주요 옵션**

-S : umask 값을 문자로 표기

**사용 예**

$ umask 022

: umask의 값을 022로 변경

❗️ 특수권한

특수 권한의 개요

  • Set-UID

    보통 실행파일에 사용, 실행시킨 사용자의 권한이 아닌 해당 파일의 소유자 권한으로 인식.
    소유자 권한 부분의 x자리에 s로 표기, 실행 권한이 없는 파일에 부여하면 대문자 S로 나타남.

  • Set-GID

    Set-UID의 그룹 버전.
    Set-GID가 파일에 설정되어 있을 경우 해당 파일을 소유한 그룹 권한으로 인식.
    Set-GID는 주로 디렉터리에 설정, 디렉터리 소유 그룹 권한으로 만들어짐.
    권한의 표시는 그룹 소유권 부분에서 x자리에 s로 나타나며,
    실행 권한이 없을 경우에는 대문자 S로 표시

  • Sticky Bit

    디렉터리에 설정되는 특수 권한.
    공유 디렉터리로 사용됨. tmp 디렉터리에 기본적으로 설정됨.
    이 권한이 설정된다면, 무조건 other 계층에 설정하도록 되어 있으며 설정하면 other 계층 권한 부분의 x 자리에 t로 표기.
    other 계층에 실행 권한이 없는 경우, 즉 그룹의 공유 모드로 사용한 경우에는 대문자 T로 표기

특수 권한의 확인

  • Set-UID가 설정된 파일로는 passwd 명령이 있음.
    → /etc/shadow에 접근하려면 일시적으로 root 권한이 필요함.

  • Set-UID가 설정되어 있으면 일반 사용자라고 하더라도 명령을 실행하는 동안에는 파일의 소유자인 root의 권한으로 인정.

  • Sticky-Bit는 /tmp 디렉터리에서 확인 가능.
    /tmp는 임시 저장 디렉터리로 X 윈도 실행 시에 필요한 소켓 등 일시적으로 시스템이나 응용 프로그램에 필요한 파일들이 저장되는 디렉터리임.
    특정 응용 프로그램이 다른 응용프로그램에서 생성한 파일을 삭제하지 못하도록 하는 권한 설정이 필요.

특수 권한의 설정

특수권한(Set-UID, Set-GID, Sticky Bit)도 chmod 명령을 사용.

  • 문자 모드인 경우
    Set-UID 및 Set-GID는 s를 사용하고, Sticky-bit는 t를 사용

  • 숫자 모드인 경우
    천의 자리가 사용되고, Set-UID는 4, Set-GID는 2, Sticky-Bit는 1의 값을 가짐

**사용 예**

$ chmod 3070 /ssook

: /ssook이라는 디렉터리를 해당 그룹에 속한 사용자들만 접근하고, 파일을 생성/삭제할 수 있도록 함. 그룹 소유권을 Set-GID로 자동 지정하고 Sticky Bit로 공유하도록 함.

profile
개발자에서, IT Business 담당자로. BrSE 업무를 수행하고 있습니다.

0개의 댓글