linux getuid와 geteuid

2025. 5. 19. 16:30·운영체제
728x90
반응형

getuid()란?

  • 현재 계정의 접속권한을 보여주는 함수

geteuid()란?

  • 현재 어떤 권한으로 해당 프로세스가 동작하는지 보여주는 함수

 

UID란?

 

  • 특정 프로세스를 누가 실행했는지를 기록
  • uid : 0 → root권한을 뜻함
  • uid : 1000 → 일반 유저를 뜻함

 

EUID란?

 

  • euid(Effective UID)는 높아질 수도 있으며 낮아질 수도 있음
  • 이 프로세스가 무슨(어떤) 권한으로 동작하나를 판단할 때 보는 값

확인 코드 및 결과

root@royal:/home/ubuntu/modern_linux# id --user
0

root@royal:/home/ubuntu/modern_linux# vi getuid.c 
#include <unistd.h>
#include <stdio.h>
int main(){
        printf("UID : %d\\n", getuid());
        printf("EUID: %d\\n", geteuid());
}
---------------------------------------------------

root@royal:/home/ubuntu/modern_linux# ./getuidcode 
UID : 0
EUID: 0

===================================================
ubuntu@royal:~/modern_linux$ id --user
1000

ubuntu@royal:~/modern_linux$ ./getuidcode 
UID : 1000
EUID: 1000

EUID가 중요한 이유

  • 파일 소유주 root이며, 해당 파일에 chmod u+s(set-UID)를 설정했을 경우
  • 누가 실행하든 해당 프로세스(파일)의 EUID는 0(root)이 됨.
  • 즉 root가 실행한것 처럼 해당 프로세스(파일)에서는 모든 권한을 사용할 수 있게 됨
  • 만약 파일 소유주가 root가 아니라면, 해당 파일 소유주만큼의 권한을 획득
  • RUID와 EUID를 확인하는 방법
    • ps -o pid,ruid,euid,cmd -p $$ 명령어를 통해서 확인 가능
    ubuntu@royal:~/modern_linux$ ps -o pid,ruid,euid,cmd -p $$
        PID  RUID  EUID CMD
     724955  1000  1000 -bash
    

 

728x90
반응형

'운영체제' 카테고리의 다른 글

Kernel (1) - 커널모드/사용자모드  (0) 2025.05.20
VMware Windows11 설치 방법  (0) 2023.10.26
윈도우 VMware 환경에서 macOS(Monterey) 설치 및 네트워크(인터넷)연결 방법  (0) 2022.06.14
macOS] DNS Suffix 테스트( /etc/resolve.conf 관련)  (0) 2022.04.04
'운영체제' 카테고리의 다른 글
  • Kernel (1) - 커널모드/사용자모드
  • VMware Windows11 설치 방법
  • 윈도우 VMware 환경에서 macOS(Monterey) 설치 및 네트워크(인터넷)연결 방법
  • macOS] DNS Suffix 테스트( /etc/resolve.conf 관련)
Royal!
Royal!
Bachelor of Arts. Bachelor of Science in Engineering. Master of Science in Engineering (In Progress). Job Title: Infrastructure & Security & Cloud Engineer. Etc: Mentor at Fourth Industrial Revolution Center.
  • Royal!
    Security
    Royal!
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 운영체제 N
      • 네트워크
      • 클라우드
      • 서버
      • Container
      • 프로그래밍
        • Python_혼자 끄적끄적
        • Python_AI(영상처리)
        • 빅데이터
        • C_정보올림피아드 Language_Coder
        • C_QnA
      • 자격증
        • 정보보안기사
        • 정보처리기사
        • ADsP
        • CPPG
        • 보안법률
        • NCA~NCP
        • AWS Certified Solutions Arc..
      • 리버싱
        • 리버싱 걸음마
      • Wargame & CTF
        • Hackerschool FTZ
      • 기타 교육
        • KISA 정보보호제품실습군
        • 빅데이터_분석실무
        • 시큐어코딩진단전문교육(호남정보보호센터)
        • SW테스트 전문가 과정(ISTQB CTFL자격)
        • 정보보호 컨설팅 전문가 양성과정
      • 기타
        • 면접일지
        • 기타
        • 인턴활동
        • 논문 요약
      • K-Shield Jr
        • 악성코드분석
        • 침해사고분석
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네이버클라우드 ftp 설정
    ncp이메일 문제 해결
    euid란
    rest api 제약조건
    kernel 구성요소
    ncp이메일이 안 와요
    restful api 개념
    geteuid()
    nce dump
    euid가 중요한 이유
    smtp 450 error
    kernel 사용자 모드
    geteuid
    ncp 이메일 기본로직
    ipsec vpn 연결 설정
    ncp 이메일 알람 못 받을 경우
    rest api 정리
    uid란
    ncp 이메일테스트
    메일 서버 기본로직
    email 450 error
    이메일 450 error
    rest api 논문
    rest api 공부
    rest api 문법
    nce덤프
    rest api 아키텍처
    kernel모드
    getuid
    getuid()
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Royal!
linux getuid와 geteuid
상단으로

티스토리툴바