Shell Script 작성해서 실행할 경우 root 권한인지 확인 해야 하는 경우가 발생한다.
이를 확인하기 위해서 구문 맨 윗쪽에서 if 구문으로 EUID를 확인해서 root 권한인지 확인 하면 된다.
그러기 위해서는 EUID에 대해서 먼저 알아야 한다.
EUID / RUID 란?
RUID : Real User ID 의 약어로 실제 사용자의 ID를 나타내는 값이다.
EUID : Effective User ID의 약어로 어떤 유저권한으로 프로세스를 실행하고 있는지를 나타내는 값이다.
shell script 파일을 실행하게 되면 Bash Shell은 항상 순차적으로 실행된다. 따라서 스크립트 맨 위에서 if 구문으로 root가 맞는지 확인 하면 된다. 참고로 Root의 EUID 값은 “0”이다.
/etc/passwd 파일에서도 각 사용자별 uid(User ID)를 확인할수 있다.
~/Downloads # cat /etc/passwd | awk -F ":" '$3<=0 {print $1, $3}'
...
nobody -2
root 0
~/Downloads #
root로 실행되었는지 확인하는 script
#!/bin/bash
# Make sure only root can run our script
if (( $EUID != 0 )); then
echo "This script must be run as root"
echo $EUID
exit
fi
echo "It's Ok"
echo $EUID
'Linux, Shell Script' 카테고리의 다른 글
ipset 이용하여 DDoS or DoS 방어 하기 (0) | 2020.06.22 |
---|---|
VIM 유용한 단축키 및 사용법 (0) | 2020.04.05 |
process infomation 명령어(ps command) 오류시 대처 방법 (0) | 2019.09.04 |
Ubuntu / Windows 멀티부팅 순서 조정하기 (0) | 2019.06.04 |
echo로 바로전 명령 성공 여부 확인 (echo $?) (0) | 2018.08.10 |