-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" ]