Net Eng

user_admin.sh 본문

Language/Shell Script

user_admin.sh

欲心 2024. 6. 8. 22:54
#!/bin/bash
AdminList() {
    cat << EOF
(관리 목록)
------------------------------------
1) 사용자 추가
2) 사용자 확인
3) 사용자 삭제
4) 종료
------------------------------------
EOF
}

UserList() {
    cat << EOF
(사용자 확인)
------------------------------------
$(awk -F: '$3 >= 1000 && $3 <= 60000 {print $1}' /etc/passwd)
------------------------------------
EOF
}

UserDel() {
    echo "(사용자 삭제)"
    echo -n "삭제할 사용자 이름? : "
    read UNAME

    grep -w $UNAME /etc/passwd >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        userdel -r $UNAME \
            && echo "[ OK ] $UNAME 사용자가 삭제 되었습니다." \
            || echo "[ FAIL ] $UNAME 사용자가 삭제되지 않았스므니다."
    else
        echo "[ FAIL ] $UNAME 사용자가 없습니다."
    fi
}

UserAdd() {
    echo "(사용자 추가)"
    echo -n "추가할 사용자 이름? : "
    read UNAME

    useradd $UNAME >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "[ OK ] $UNAME 사용자가 추가 되었습니다."
        echo $UNAME | passwd --stdin $UNAME >/dev/null 2>&1
        echo "[ OK ] $UNAME 사용자 암호를 변경하였습니다"
    else
        echo "[ FAIL ] $UNMAE 사용자 추가에 실패하였습니다."
    fi
}

while true
do
    echo
    AdminList
    echo -n "선택 번호? : "
    read NUM
    case $NUM in
        1) UserAdd ;;
        2) UserList ;;
        3) UserDel ;;
        4) break ;;
        *) echo "[ INFO ] 잘못된 번호를 선택하였습니다." ; echo ;;
    esac
done

'Language > Shell Script' 카테고리의 다른 글

auto_telnet_ftp.sh  (0) 2024.06.08
check_file.sh  (0) 2024.06.08
auto_reboot.sh  (0) 2024.06.08
userdel.sh  (0) 2024.06.08
useradd.sh  (0) 2024.06.08