[쿠버네티스 2주차] 리눅스 - 파일권한

신현식·2022년 12월 29일
0

구름_Linux

목록 보기
5/22
post-thumbnail

파일 접근 권한보호

리눅스는 파일에 무단으로 접근하는 것을 방지하고 보호하는 기능을 제공한다. 사용자는 자신의 파일과 디렉토리 중에서 다른 사용자가 접근해도 되는것과 그렇지 않은 것을 구분하여 접근권한을 지정한다.

파일의 속성

flie

  • -는 일반파일, d는 디렉토리를 의미한다.

    etc안에 temp라는 디렉토리가 있음을 알 수 있다.

접근권한의 종류

  • 표기방법: -rw-r--r-- 맨앞은 파일종류, 뒤로는 3개씩 끊어서 읽으며 앞에서부터 소유자, 그룹, 기타 사용자의 권한지정을 의미한다.

접근권한 변경 명령어

chmod

  • 파일이나 디렉토리의 접근권한을 변경한다.
  • 기호모드와 숫자모드로 변경이 가능하다.

💡기호모드

💡숫자모드

기본 접근 권한 설정

리눅스에서는 파일이나 디렉터리를 생성할 때 자동적으로 기본 접근 권한이 설정된다.

umask

  • 기본 접근권한을 출력하거나 변경한다. ( umask [옵션][마스크값] )

  • 마스크 값은 파일이나 디렉토리 생성 시 부여하지 않을 권한을 지정해놓는 것이다.

  • 로그아웃 시 원래값으로 다시 돌아온다.

    기본값은 파일 666 디렉터리 777인데 umask값을 뺀 값이 각 계정에서 할당되는 권한이다.

  • root 계정
    파일 -> 644 (666-022)
    디렉터리->755 (777-022)

  • 일반 계정(user 계정)
    파일 -> 664 (666-002)
    디렉터리 -> 775 (666-002)

영국적으로 umask값을 바꾸고 싶다면

umask값이 어디에 설정되어있는지 확인한 후 vi편집기로 들어간다. 그후 /umask로 검색으로 한 후 스크립트 파일을 수정하고 저장해주면 된다.

특수 접근 권한: 확장 퍼미션

접근권한은 원래 4자리인데 맨 앞자리는 보통 생략한다.

SetUID - 맨 앞자리 4
SetGID - 맨 앞자리 2
stick bit - 맨 앞자리 1

  • setuid: 해당 프로그램을 실행하는 사용자가 프로그램 실행되는 동안 임시로 파일 소유자의 권한으로 프로그램을 수행
  • setgid: 해당 프로그램을 실행하는 사용자가 프로그램 실행되는 동안 임시로 파일 소유그룹의 권한으로 프로그램을 수행
  • Sticky Bit : Sticky Bit가 설정된 디렉토리 내에 생성된 파일들은 소유자 or root 이외의 다른 사용자가 삭제하지 못하도록 설정, /tmp 디렉터리가 대표적
    Sticky Bit -> 디렉터리에만 설정 가능

rwxrwxrwx(777) -> s가 들어가있는 것으로 판단
-> setuid 가 설정되어 있으면 : rws rwxrwx
-> setgid 가 설정되어 있으면 : rwx rws rwx

  • 파일중에 소유자나 그룹의 권한으로 파일을 실행해야할 때가 있는데 여기서는 root권한으로 파일을 실행하기 때문에 passwd변경이 가능하고 su변경이 가능하다.

💡 setuid 설정방법

  • 기호모드(심볼릭모드)
    chmod u+s [파일]

  • 숫자모드
    chmod 755 [파일이름] : rwxr-xr-x
    chmod 4755 [파일이름] : rwsr-xr-x

💡 setgid 설정방법

  • 기호모드(심볼릭모드)
    chmod g+s [파일]

  • 숫자모드
    chmod 755 [파일이름] : rwxr-xr-x
    chmod 2755 [파일이름] : rwxr-sr-x

💡 확장 퍼미션 권한 있는 파일 검색하기
setuid 검색: find / -perm -4000 (2>/dev/null)->에러메세지 없애주는 것
setgid 검색: find / -perm -2000 2>/dev/null
setuid or setgid 둘다 검색: find / -perm -2000 -o -4000 2>/dev/null , -o 옵션이 or 역할을 해줌
sticky bit 검색: find / -perm -1000

ex) 일반계정이 /etc/shadow 파일을 cat명령으로 읽을 수 있도록 cat 퍼미션을 수정해보세요.
chmod 4755 /bin/cat or chmod u+s /bin/cat

cat이 root권한으로 실행되면 퍼미션 상관없이 무조건 읽을 수 있게 된다.

profile
전공 소개

0개의 댓글