권한 및 그룹 삭제

유석현(SeokHyun Yu)·2023년 5월 2일

Linux

목록 보기
1/17
post-thumbnail

리눅스 시스템의 모든 파일과 디렉터리에는 접근권한(permission)소유권(ownership)이 부여된다.

- rw-rw-r-- 1 ysh root 50 2023-05-02 12:00 sample.txt

  • '-': 파일 유형

    • -: 일반 파일
    • d: 디렉터리 파일
    • l: 심볼릭 링크 파일
    • p: 파이프 파일
    • b: 블록 파일(저장장치)
    • s: 소켓파일
    • c: 문자 파일(입출력 장치)
  • 'rw-rw-r--': 파일 접근 권한

  • 'ysh': 파일 소유자명

  • 'root': 파일 소유 그룹명

  • '50': 파일 크기(바이트 단위)

  • '2023-05-02 12:00': 파일이 마지막으로 변경된 시간

  • 'sample.txt': 파일명


1. 소유권과 관련된 명령어

  • chown

    • 형식: chown [옵션] 소유자[:그룹명] 파일명, 그룹명 앞에 콜론(:)을 붙여 사용자 소유권과 그룹 소유권을 분리
    • -R: 하위 디렉터리 포함
      • 예 1: chown -R root sample.txt
      • 예 2: chown :root sample.txt
  • chgrp

    • -h: 심볼릭링크 파일 그룹 소유권 변경
      • 예: chgrp root sample.txt

2. 허가권과 관련된 명령어

  • chmod

    • 소유자(owner): u
    • 그룹(group): g
    • 기타 사용자(others 혹은 public): o
    • 모든 사용자: a
      • 예 1: chmod 744 sample.txt
      • 예 2: chmod u=rwx, g+r, o-r sample.txt
      • 예 3: chmod a=rwx sample.txt
  • umask

    • 모든 파일과 디렉터리는 기본권한에서 umask를 뺀 권한으로 생성됨
    • 가장 안전한 umask 값은 077
    • -S: umask 값을 u, g, o와 w, r, x와 같은 문자로 나타냄
    • 기본권한: 파일(666), 디렉터리(777)

3. 특수권한

실행 파일이 아닌데 setuid나 setgid를 설정하면 대문자 'S'가 되고 실행할 수 없다.

따라서 실행파일이 아닐 경우 접근 권한에 'x'를 추가해야 하며, 실행권한이 추가된 파일에 setuid나 setgid를 설정하면 소문자 's'가 되고 정상적으로 실행할 수 있다.

  • setUID: 프로그램을 실행하는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행된다.

    • 코드: s
    • 절대값: 4000
      • 예 1: chmod 4644(= u+s) sample.txt
      • 결괏값 1: -rwSr--r-- root root sample.txt
      • 예 2: chmod 4744 sample.txt
      • 결괏값 2: -rwsr--r-- root root sample.txt
  • setGID: 프로그램을 실행하는 동안 프로세스는 파일의 그룹과 같은 권한으로 실행된다.

    • 코드: s
    • 절대값: 2000
      • 예 1: chmod 2644(= g+s) sample.txt
      • 결괏값 1: -rw-r-Sr-- root root text.txt
      • 예 2: chmod 2674 sample.txt
      • 결괏값 2: -rw-rwsr-- root root text.txt
  • sticky bit: 공용 디렉터리를 사용할 때 sticky bit를 설정하여 사용한다. 또한 /tmp 폴더는 sticky-bit가 자동으로 설정되어 있다.

    • 코드: t
    • 절대값: 1000
      • 예: chmod 1744(= o+t) SampleDirectory
      • 결괏값: drw-r-xr-t root root SampleDirectory

4. 디스크 쿼터

  • 정의: 파일 시스템마다 사용자/그룹이 생성할 수 있는 파일 용량/개수 제한

  • edquota: 편집기(editor)를 사용하여 그룹에 디스크 사용량 할당

    • -p: 디스크 할당량 설정을 다른 사용자와 동일하게 설정 (ysh의 설정을 ysh2에게로)
      • 예: edquota -p ysh ysh2
  • setquota: 명령행에서 직접 디스크 사용량 할당

    • 설명: setquota -u 계정명 [블록 soft] [블록 hard] [inode soft] [inode hard] [파티션명]
      • 예: setquota -u ysh 20M 30M 0 0 /home

5. 참고

  • 파일을 생성 또는 삭제할 수 없는 권한 표시는 하이픈(-)을 사용함
profile
Backend Engineer

0개의 댓글