소개
이 프로젝트에서는 교실 서버 환경에서 교사와 학생의 사용자 계정을 생성하고 관리하는 방법을 배우게 됩니다. 수동으로 수행할 경우 지루할 수 있는 사용자 계정 추가 및 삭제 프로세스를 자동화하기 위해 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 권한과 같은 적절한 설정으로 사용자 계정이 생성되었는지 확인합니다.
- 교실 서버 환경에서 사용자 계정을 효율적으로 추가하고 삭제합니다.
환경 준비
이 단계에서는 프로젝트에 필요한 환경을 설정합니다.
터미널을 열고
/home/labex/project디렉토리로 이동합니다.다음 명령을 사용하여
/home/labex/project디렉토리에userctr.sh라는 새 파일을 생성합니다.touch userctr.sh텍스트 편집기에서
userctr.sh파일을 열고 파일 시작 부분에 다음 shebang 라인을 추가합니다.#!/bin/zsh이 라인은 스크립트가 zsh 쉘을 사용하여 실행되어야 함을 지정합니다.
사용자 및 그룹 관리 기능 구현
이 단계에서는 사용자 및 그룹을 추가하고 삭제하는 기능을 구현합니다.
다음 코드를
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" }이 코드는 매개변수 유효성 검사 및 임의 비밀번호 생성 함수를 포함하여 스크립트의 기본 구조를 설정합니다.
"add" 작업을 처리하기 위해 다음 코드를
userctr.sh파일에 추가합니다.## 사용자 추가 ## 교사 사용자 추가 ## 학생 사용자 추가이 코드는 교사 사용자와 지정된 수의 학생 사용자를 추가합니다. 사용자가 이미 존재하는 경우, 사용자의 비밀번호를 별표 6 개로 표시합니다.
"del" 작업을 처리하기 위해 다음 코드를
userctr.sh파일에 추가합니다.## 사용자 삭제 ## 교사 사용자 삭제 ## 학생 사용자 삭제이 코드는 교사 사용자와 지정된 수의 학생 사용자를 삭제합니다.
userctr.sh파일을 저장합니다.
스크립트 테스트
이 단계에서는 userctr.sh 스크립트가 예상대로 작동하는지 확인하기 위해 테스트합니다.
터미널을 열고
/home/labex/project디렉토리로 이동합니다.다음 명령을 실행하여 "add" 작업을 테스트합니다.
sh userctr.sh add teacher stu 6이렇게 하면 교사 사용자 1 명과 학생 사용자 6 명이 생성되고, 임의로 생성된 비밀번호가 표시됩니다.
teacher:617533 stu1:345893 stu2:183263 stu3:404525 stu4:571165 stu5:251940 stu6:716130다음 명령을 실행하여 "del" 작업을 테스트합니다.
sh userctr.sh del teacher stu 6이렇게 하면 교사 사용자와 학생 사용자 6 명이 삭제됩니다.
축하합니다! 프로젝트를 완료했습니다. 이제 userctr.sh 스크립트를 사용하여 교실 서버에서 교사와 학생의 사용자 계정을 관리할 수 있습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



