사용자 및 그룹 생성과 삭제 일괄 처리

LinuxBeginner
지금 연습하기

소개

이 프로젝트에서는 교실 서버 환경에서 교사와 학생의 사용자 계정을 생성하고 관리하는 방법을 배우게 됩니다. 수동으로 수행할 경우 지루할 수 있는 사용자 계정 추가 및 삭제 프로세스를 자동화하기 위해 userctr.sh라는 bash 스크립트를 사용합니다.

👀 미리보기

## 교사 사용자 1 명과 학생 사용자 6 명 (stu1 ~ stu6) 추가
$ sh userctr.sh add teacher stu 6
teacher:617533
stu1:345893
stu2:183263
stu3:404525
stu4:571165
stu5:251940
stu6:716130

## 교사 사용자 1 명과 학생 사용자 6 명 (stu1 ~ stu6) 삭제
$ sh userctr.sh del teacher stu 6

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다.

  • 프로젝트에 필요한 환경을 설정하는 방법
  • 사용자 및 그룹을 추가하고 삭제하는 기능을 구현하는 방법
  • userctr.sh 스크립트가 예상대로 작동하는지 테스트하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다.

  • 사용자 관리 작업 자동화의 중요성을 이해합니다.
  • bash 스크립트를 사용하여 교사와 학생의 사용자 계정을 생성하고 관리합니다.
  • 기본 쉘 및 sudo 권한과 같은 적절한 설정으로 사용자 계정이 생성되었는지 확인합니다.
  • 교실 서버 환경에서 사용자 계정을 효율적으로 추가하고 삭제합니다.

환경 준비

이 단계에서는 프로젝트에 필요한 환경을 설정합니다.

  1. 터미널을 열고 /home/labex/project 디렉토리로 이동합니다.

  2. 다음 명령을 사용하여 /home/labex/project 디렉토리에 userctr.sh라는 새 파일을 생성합니다.

    touch userctr.sh
    
  3. 텍스트 편집기에서 userctr.sh 파일을 열고 파일 시작 부분에 다음 shebang 라인을 추가합니다.

    #!/bin/zsh
    

    이 라인은 스크립트가 zsh 쉘을 사용하여 실행되어야 함을 지정합니다.

사용자 및 그룹 관리 기능 구현

이 단계에서는 사용자 및 그룹을 추가하고 삭제하는 기능을 구현합니다.

  1. 다음 코드를 userctr.sh 파일에 추가합니다.

    ## 이 스크립트는 교사와 학생의 사용자 계정을 관리하는 데 사용됩니다.
    
    ## 매개변수 개수가 올바른지 확인
    if [ $## -ne 4 ]; then
      echo "매개변수 오류"
      exit 1
    fi
    
    ## 학생 수 매개변수가 양의 정수이고 10 을 초과하지 않는지 확인
    if ! [[ "$4" =~ ^[1-9][0-9]?$|^10$ ]]; then
      echo "매개변수 오류"
      exit 1
    fi
    
    ## 학생 이름 접두사가 소문자만 포함하는지 확인
    if ! [[ "$3" =~ ^[a-z]+$ ]]; then
      echo "매개변수 오류"
      exit 1
    fi
    
    ## 6 자리 임의 비밀번호를 생성하는 함수
    generate_password() {
      password=$(shuf -i 100000-999999 -n 1)
      echo "$password"
    }
    

    이 코드는 매개변수 유효성 검사 및 임의 비밀번호 생성 함수를 포함하여 스크립트의 기본 구조를 설정합니다.

  2. "add" 작업을 처리하기 위해 다음 코드를 userctr.sh 파일에 추가합니다.

    ## 사용자 추가
    ## 교사 사용자 추가
    
    ## 학생 사용자 추가
    

    이 코드는 교사 사용자와 지정된 수의 학생 사용자를 추가합니다. 사용자가 이미 존재하는 경우, 사용자의 비밀번호를 별표 6 개로 표시합니다.

  3. "del" 작업을 처리하기 위해 다음 코드를 userctr.sh 파일에 추가합니다.

    ## 사용자 삭제
    ## 교사 사용자 삭제
    
    ## 학생 사용자 삭제
    

    이 코드는 교사 사용자와 지정된 수의 학생 사용자를 삭제합니다.

  4. userctr.sh 파일을 저장합니다.

스크립트 테스트

이 단계에서는 userctr.sh 스크립트가 예상대로 작동하는지 확인하기 위해 테스트합니다.

  1. 터미널을 열고 /home/labex/project 디렉토리로 이동합니다.

  2. 다음 명령을 실행하여 "add" 작업을 테스트합니다.

    sh userctr.sh add teacher stu 6
    

    이렇게 하면 교사 사용자 1 명과 학생 사용자 6 명이 생성되고, 임의로 생성된 비밀번호가 표시됩니다.

    teacher:617533
    stu1:345893
    stu2:183263
    stu3:404525
    stu4:571165
    stu5:251940
    stu6:716130
    
  3. 다음 명령을 실행하여 "del" 작업을 테스트합니다.

    sh userctr.sh del teacher stu 6
    

    이렇게 하면 교사 사용자와 학생 사용자 6 명이 삭제됩니다.

축하합니다! 프로젝트를 완료했습니다. 이제 userctr.sh 스크립트를 사용하여 교실 서버에서 교사와 학생의 사용자 계정을 관리할 수 있습니다.

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습