소개
이 챌린지에서는 서버에서 사용자를 일괄 추가 및 삭제하는 bash 스크립트인 userctr.sh를 작성합니다. 작업 (add 또는 del), 선생님 사용자 이름, 학생 사용자 이름 접두사, 관리할 학생 수를 지정하는 명령줄 인수를 받는 스크립트를 작성하게 됩니다. 이 작업은 시스템 관리에 필수적인 쉘 스크립팅, 사용자 관리 및 자동화 기술을 향상시킬 것입니다.
이 챌린지에서는 서버에서 사용자를 일괄 추가 및 삭제하는 bash 스크립트인 userctr.sh를 작성합니다. 작업 (add 또는 del), 선생님 사용자 이름, 학생 사용자 이름 접두사, 관리할 학생 수를 지정하는 명령줄 인수를 받는 스크립트를 작성하게 됩니다. 이 작업은 시스템 관리에 필수적인 쉘 스크립팅, 사용자 관리 및 자동화 기술을 향상시킬 것입니다.
시스템 관리자는 교실 서버에 선생님 한 명과 여러 학생 사용자를 효율적으로 추가할 수 있는 방법이 필요합니다. 각 계정을 수동으로 생성하는 것은 지루하고 오류가 발생하기 쉽습니다. 이 작업에서는 이 프로세스를 자동화하는 bash 스크립트인 userctr.sh를 작성합니다. 스크립트는 작업 유형, 선생님 이름, 학생 이름 접두사 및 학생 수를 매개변수로 받습니다.
/home/labex/project 디렉토리에 userctr.sh라는 Bash 스크립트를 생성합니다.add 및 del의 두 가지 주요 작업을 구현해야 합니다.add 작업의 경우 선생님 사용자 한 명과 지정된 수의 학생 사용자를 생성합니다.del 작업의 경우 지정된 선생님 및 학생 사용자를 삭제합니다.실행 형식: 스크립트는 네 개의 인수로 실행 가능해야 합니다.
sh userctr.sh <operation> <teacher_name> <student_prefix> <student_count>
매개변수 검증:
parameter error를 출력하고 종료해야 합니다.student_count(네 번째 인수) 는 1 에서 10 사이의 정수여야 합니다. 그렇지 않으면 parameter error를 출력하고 종료해야 합니다.student_prefix(세 번째 인수) 는 소문자만 포함해야 합니다. 그렇지 않으면 parameter error를 출력하고 종료해야 합니다.add 작업 세부 정보:
******를 붙입니다 (예: stu3:******).teacher:901231)./bin/zsh를 사용해야 합니다.sudo 그룹에 추가되어야 합니다.del 작업 세부 정보:
del 작업은 출력을 생성하지 않아야 합니다.다음 예시는 스크립트의 예상 동작을 보여줍니다.
사용자 추가: 이 명령은 선생님 한 명 (teacher) 과 학생 여섯 명 (stu1부터 stu6까지) 을 추가합니다.
sh userctr.sh add teacher stu 6
예시 출력:
teacher:901231
stu1:271828
stu2:928172
stu3:******
stu4:384712
stu5:098273
stu6:921098
이 출력에서 stu3의 별표는 해당 사용자가 이미 존재했음을 나타내므로 새 비밀번호가 생성되지 않았습니다.
사용자 삭제: 이 명령은 동일한 사용자 세트를 삭제합니다. 성공적으로 완료되면 출력이 없어야 합니다.
sh userctr.sh del teacher stu 6
useradd 및 userdel과 같이 루트 권한이 필요한 명령 앞에 sudo를 사용하십시오.$#로 인수의 수를 확인하십시오.$1, $2 등을 사용하여 인수에 접근하십시오.id -u <username>을 사용할 수 있습니다. 사용자가 존재하지 않으면 이 명령은 0 이 아닌 종료 코드를 갖습니다.useradd -m -s /bin/zsh <username>을 사용하십시오.sudo 그룹에 추가하려면 usermod -aG sudo <username>을 사용하십시오.userdel -r <username>을 사용하십시오.shuf -i 100000-999999 -n 1을 사용할 수 있습니다.for ((i=1; i<=$student_count; i++))와 같은 for 루프가 유용합니다.if [[ "$string" =~ "regex" ]]를 사용하십시오.축하합니다! 사용자 관리를 자동화하는 bash 스크립트를 성공적으로 작성했습니다. 이 스크립트는 사용자를 일괄적으로 추가 및 삭제하고, 입력 매개변수를 검증하며, 기존 사용자를 처리할 수 있어 모든 시스템 관리자에게 필수적인 기술입니다. 스크립트 내에서 조건문, 루프, 명령줄 인수 및 useradd, userdel과 같은 외부 명령을 사용하는 연습을 했습니다.