티스토리 뷰

반응형

※ 스크립트 간단 설명

sudo.sh <-------------스크립트 다운

서버업무상 개발자 등의 일반 유저가 root 권한을 요청 할일이 발생 하면 일전 기한동안만 root 권한을 "sudo su -" 명령으로 허용 해준다.
아래 스크립트는 /usr/sbin/atd 가 존재 하면 데몬 기동 여부에따라 (데몬기동후 )권한을 허락하며 해당 데몬이 존재하지 않으면 yum으로 설치 한다음 권한을 허락하는 간단한 스크립트이다.

#!/bin/bash
export LANG=C
today=`date --date 'today' +%Y%m%d`
CNT=$(ps -ef | grep /usr/sbin/atd | grep -v grep | wc -l)
if [ -f /usr/sbin/atd ];then
        if [ $CNT -le 0 ];then
                echo "start atd deamon !! "
                service atd start
                cp /etc/sudoers /etc/sudoers_$today
                echo -n "read target ID : "
                read target_id
                echo -e "$target_id ALL=(ALL)ALL" >> /etc/sudoers
                echo -n "limit day (ex. 2017-04-14): "
                read limitday
                echo "sed -i -e "/^$target_id/d" /etc/sudoers" | at 23:59 $limitday
                echo "Done !"

        elif [ $CNT -gt 0 ];then
                echo "already use atd deamon !! "
                cp /etc/sudoers /etc/sudoers_$today
                echo -n "read target ID : "
                read target_id
                echo -e "$target_id ALL=(ALL)ALL" >> /etc/sudoers
                echo -n "limit day (ex. 2017-04-14): "
                read limitday
                echo "sed -i -e "/^$target_id/d" /etc/sudoers" | at 23:59 $limitday
                echo "Done !"
        fi

        else
        yum install -y at
        chkconfig atd on
        cp /etc/sudoers /etc/sudoers_$today
        service atd start
        echo -n "read target ID : "
        read target_id
        echo -e "$target_id ALL=(ALL)ALL" >> /etc/sudoers
        echo -n "limit day (ex. 2017-04-14): "
        read limitday
        echo "sed -i -e "/^$target_id/d" /etc/sudoers" | at 23:59 $limitday
        echo "Done !"
fi

반응형

'linux' 카테고리의 다른 글

bash 임의코드 실행 취약점 패치 적용(CVE-2014-7169)  (0) 2018.03.28
linux oracle raw vol 추가 방법  (0) 2017.08.07
ntp server 설정  (0) 2017.07.10
[CentOS] yum repository 설정  (0) 2017.07.06
multipath 설정 - CentOS  (0) 2017.07.06