파일이 루트 계정으로 실행되고 있는지 어떻게 확인할 수 있나요?

파일이 루트 계정으로 실행되고 있는지 어떻게 확인할 수 있나요?

-rwsr-xr-x script.sh루트 계정 권한이 있는 파일을 생성했다고 가정합니다 . 파일에 suid 비트를 설정했기 때문에 파일을 실행하려는 모든 사용자는 파일 소유자인 루트에 의해 실행됩니다. 예를 들어 passwd다음 명령을 살펴보겠습니다 .

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 Apr 16 17:06 /usr/bin/passwd

이 명령은 우리 파일과 유사합니다. 루트 또는 sudo 권한을 가지고 이 명령을 실행하는 모든 사용자는 루트 계정으로 실행됩니다.

문제는 이 테마를 어떻게 확인할 수 있느냐는 것입니다.

script.sh이를 파악하기 위해 다음을 시도했습니다. 내용을 보면 다음과 같은 간단한 스크립트를 작성했습니다.

#!/bin/bash 

if [[ $UID -eq 0 ]]
then 
    echo "Running as root"
else
    echo "Not root"
fi

이제 일반 사용자로 이 스크립트를 실행하면 출력은 다음과 같습니다.Not root

그렇다면 루트로 실행 중인지 어떻게 확인합니까?


제가 이러한 개념을 잘못 이해하고 있다면 알려주세요. 나는 초보자입니다.

답변1

이것을 시도해 보는 것은 어떻습니까?

if [ $(whoami) = "root" ]

관련 정보