본문 바로가기

과제

step 3-5

#!/bin/bash
#filename : /root/du.sh
#디렉터리 절대경로 입력 시 디렉터리 용량 계산하는 du 명령어를 이용하여 sehll script를 작성할 것

echo "====== du를 이용한 디렉토리 용량 확인 ======"
echo -n "Input DrectoryPath : ";read dir

if [ -d "$dir" ]; then
    # 'du' 명령어를 사용하여 사용자가 입력한 디렉터리의 용량을 계산
    size=$(du -sh "$dir" | cut -f1)
    echo "${size}   /root"
else
    echo "$dir 디렉터리가 존재하지 않습니다."
fi

--실행
[root@localhost ~]# sh du.sh
====== du를 이용한 디렉토리 용량 확인 ======
Input DrectoryPath : dir1
4.0K   /root

[root@localhost ~]# sh du.sh
====== du를 이용한 디렉토리 용량 확인 ======
Input DrectoryPath : a
a 디렉터리가 존재하지 않습니다.
#!/bin/bash
#filename : /root/menu.sh
#사용자계정관리를 목적으로 작성된 미완성 스크립트를 수정/추가하여 스크립트를 완성시키시오
#모든 메뉴는 값을 입력받아서 처리함.
#사용자 관리 : /etc/passwd  파일에서 해당 사용자 정보만 확인
#4번 선택후 프로그램 종료시 해당 case 문을 종료 > 쉘스크립트까지 종료 할 수 있도록 설정
#파일명 : /root/menu.sh

while [ 1 ]
do
    echo
    echo "======== 사용자 관리 프로그램 ========"
    echo
    echo "1. 사용자 관리"
    echo "2. 사용자 계정 생성"
    echo "3. 사용자 계정 삭제"
    echo "4. 프로그램 종료"
    echo
    echo -n "Select Menu: ";read menu_num


    case $menu_num in
    1)
        echo "1"
    echo -n "확인 할 사용자 명을 입력하세요. : ";read username
    grep "^$username:" /etc/passwd
    if [ $? -ne 0 ]; then
        echo "사용자 $username 이(가) 존재하지 않습니다"
    fi
        ;;
    2)
        echo "2"
    echo -n "생성할 계정명: ";read username
    sudo useradd "$username"
    if [ $? -eq 0 ]; then
        echo "사용자 $username 이(가) 생성되었습니다."
    else
        echo "사용자 $username 을(를) 생성하지 못했습니다."
    fi
        ;;
    3)
        echo "3"
    echo -n "삭제할 계정명: ";read username
    sudo userdel -r "$username"
    if [ $? -eq 0 ]; then
        echo "사용자 $username 을(를) 제거했습니다."
    else
        echo "사용자 $username 을(를) 제거하지 못했습니다."
    fi
        ;;
    4)
        echo "4"
        echo "프로그램을 종료합니다."
        exit 0
        ;;
    *)
        echo "입력값 에러";;
    esac
done

--실행
[root@localhost ~]# sh menu.sh

======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 1
1
확인 할 사용자 명을 입력하세요. : test01
test01:x:1001:1001::/home/test01:/bin/sh

======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 2
2
생성할 계정명: test1
사용자 test1 이(가) 생성되었습니다.

======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 1
1
확인 할 사용자 명을 입력하세요. : test1
test1:x:1002:1002::/home/test1:/bin/bash

======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 3
3
삭제할 계정명: test1
사용자 test1 을(를) 제거했습니다.

======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 1
1
확인 할 사용자 명을 입력하세요. : test1
사용자 test1 이(가) 존재하지 않습니다
======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 5
입력값 에러
======== 사용자 관리 프로그램 ========

1. 사용자 관리
2. 사용자 계정 생성
3. 사용자 계정 삭제
4. 프로그램 종료

Select Menu: 4
4
프로그램을 종료합니다.
#!/bin/bash
# filename : usersearch.sh

echo -n "검색할 유저명 입력: "
read username
echo "==================================================="
echo "유저이름:패스워드여부:UID:1차그룹GID:HOME디렉토리:쉘"
grep "^$username:" /etc/passwd

echo "==================================================="

sudo grep "^$username:" /etc/shadow

echo "==================================================="

id $username

--실행
[root@localhost ~]# sh usersearch.sh
검색할 유저명 입력: test01
===================================================
유저이름:패스워드여부:UID:1차그룹GID:HOME디렉토리:쉘
test01:x:1001:1001::/home/test01:/bin/sh
===================================================
test01:$6$NW92xuvGBVZOnM/k$sYGRizxOZe9xp8k/WciFNlP2C3DWbP5IZm.B1J4Sl
ioBFJHa0dM0Wbzr5SRTXDJt0xYel71u48stQVONpedeX1:19801:0:99999:7:::
===================================================
uid=1001(test01) gid=1001(test01) groups=1001(test01)