Bash Shell - 스트립트를 root로 실행했는지 확인

Bash shell script에서 스크립트가 root로 실행되었는지 확인할 수 있습니다.

Example 1 : 스크립트가 루트로 실행되었는지 확인

다음과 같이 스크립트가 root로 실행되었는지 확인할 수 있으며, root가 아닐 때 스크립트가 종료되도록 구현할 수 있습니다. root는 id 명령어의 결과가 0이기 때문에, 이것으로 root로 실행되었는지 확인할 수 있습니다. root가 아닌 user로 실행 시, exit가 수행되어 스크립트가 종료됩니다.

#!/bin/bash

if [ $(id -u) -ne 0 ]; then
	echo "Please run as root."
	exit
fi

echo "Running as root..."

root가 아닌 user로 실행:

$ bash example.sh
Please run as root.

root로 실행:

$ sudo bash example.sh
Running as root...

Example 2 : 스크립트가 루트로 실행되었는지 확인

아래와 같은 코드로 root로 실행되었는지 확인할 수 있습니다. root로 실행될 때 EUID(Effective UID)는 0으로 설정됩니다.

#!/bin/bash

if (( $EUID != 0 )); then
  echo "Please run as root."
  exit
fi

echo "Running as root..."

root가 아닌 user로 실행:

$ bash example.sh
Please run as root.

root로 실행:

$ sudo bash example.sh
Running as root...
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha