[Shell Script] 허용된 사용자만 스크립트 실행가능하게 하기

 허용된 사용자만 스크립트 실행가능하게 하기 


스크립트 코드
#!/bin/sh

script_user="batch1"

if [ $(id -nu) = "$script_user" ]; then
    ./batch_program
else
    echo "[ERROR] $script_user 사용자로 실행하세요." >&2
    exit 1
fi


사용자 정보 










현재 사용자




스크립트 실행 







이 스크립트는 현재 스크립트를 실행하는 사용자명으로 확인하고 지정한 사용자만 실행할 수 있도록 합니다 . 
특정 프로그램을 실행하는 사용자를 제한하고 싶을 때 사용합니다.


#1
script_user="batch1"
프로그램 실행을 허가할 사용자를 지정합니다 . 
사용자 중 batch1 이라는 사용자의 실행을 허가합니다. 


#2
if [ $(id -nu) = "$script_user" ]; then
id 명령어에 사요자 id 만을 표시하는 -u 옵션과 id가 아니라 이름으로 표시하는 -n 옵션을 조합하여 사용합니다. id -nu 결과를 명령어 치환 $()으로 취득해서 현재 사용자명을 취득합니다 . 

#3
    ./batch_program
외부프로그램을 실행합니다.


#4
else
    echo "[ERROR] $script_user 사용자로 실행하세요." >&2
    exit 1
fi
현재 사용자명과 허가 사용자명이 일치하지 않을경우 메세지를 출력 후에 종료합니다 .


이렇게 해서 프로그램 실행사용자를 제한할 수 있습니다 .  

댓글