Linux

[Linux] 특수 권한 SetUID 와 SetGID

MAYMIN 2024. 12. 8. 19:41
728x90
SMALL

🍧 SetUID와 SetGID

  • 프로세스가 실행되는 동안 해당 프로세스의 root 권한을 임시로 가져오는 기능
  • 프로세스가 사용자보다 높은 수준의 접근을 요구할 때 파일 접근 제한으로 인해 원할한 기능을 제공할 수 없기 때문에 이러한 문제점을 해결하기 위한 방법
  • 🍦 SetUID
    • 사용자가 사용자할 때만 소유자 권한으로 파일을 실행시킨다.
    • 프로그램을 실행하는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행된다
    • 실행 파일에 setuid를 설정하면 소문자 's'가 되고 정상적으로 실행할 수 있다.
    • 실행 파일이 아닌데 sestuid를 설정하면 대문자 'S'가 되고 실행할 수 없다
  • 🍦 SetGID
    • 사용자가 사용할 때만 그룹 권한으로 파일을 실행한다.
    • 프로그램을 실행하는 동안 프로세스는 파일의 그룹과 같은 권한으로 실행된다
    • 권한이 명시된 디렉터리에 생성되는 모든 하위 디렉터리나 파일도 SetGID 권한을 가진다.
  코드 절대 값 설명
SetUID s 4000 프로세스 실행 당시 UID로 설정
SetGID s 2000 프로세스 실행 당시 GID로 설정
Sticky bit t 1000 실행 후에도 메모리를 점유하도록 설정

 

  • 🍦 Sticky bit
    • 일반적으로 공용 디렉터리를 사용 할 때 sticky bit를 설정하여 사용
    • sticky bit가 설정되어 있는 디렉터리 안의 내용은 해당 파일의 소유자나 root 만이 변경이 가능하게 하여 공용 디렉터리라도 권한에 제약을 두어 다른 사용자들의 파일을 보호하기 위한 목적으로 만든 것
    • 사용자 권한을 지정하기 어려운 프로그램들이 일시적으로 특정 디렉터리에 파일을 생성하고 삭제하도록 이용된다.
    • 특정 응용 프로그램이 다른 응용 프로그램에서 생성한 파일을 삭제하지 못하는 권한 설정을한다
    • 설정된 디렉터리에는 누구든 접근 가능하고 파일을 생성할 수 있다
    • 생성된 sticky bit 파일을 삭제 시에는 소유자(파일 생성자)와 관리자만 지울 수 있다 다른 사용자는 자신의 소유가 아닌 파일을 삭제할 수 없다

 

🍧 디스크 쿼터 (Disk Quota)

  • 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것 (보통 블록 단위의 용량 제한과 inode의 개수를 제한)
  • 사용자나 그룹이 가질 수 있는 inode의 수, 사용자나 그룹에게 할당된 디스크 블록 수를 제한
  • 쿼터는 사용자별, 파일 시스템별로 동작 됨
  • 그룹 단위로도 용량을 제한할 수 있으며 웹 호스팅 서비스를 하는 경우에 유용하다

 

728x90
LIST

'Linux' 카테고리의 다른 글

[Linux] 데몬 (Daemon) 이란?  (0) 2024.12.08
[Linux] 저널링, 네트워크 파일 시스템  (1) 2024.12.08
[Linux] 프로세스 유틸리티  (0) 2024.12.07
[Linux] 프로세스 관리  (0) 2024.12.07
[Linux] 셸 환경설정  (0) 2024.12.07