본문 바로가기
Linux/CentOS 7

[CentOS 7]유저 자동 생성을 통한 쉘 스크립트 기초

by 인성패밀리 2021. 1. 21.
반응형

실습 환경은 CentOS 7 버전입니다.
VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다.
'#> [명령어]' // [주석]
[]안의 부분만 보시면 됩니다.
'#'은 관리자, '$'는 유저입니다.

---------------------------------------------------------------------------

간단하게 쉘 스크립트로 useradd, userdel, passwd 명령어를

자동으로 수행하는 코드를 보겠습니다.

 

유저 관련 명령어 입니다.

 

[Linux 명령어] 유저 생성과 삭제 (useradd, userdel 명령어 그리고 passwd 명령어)

실습 환경은 CentOS 7 버전입니다. VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다. '#> [명령어]' // [주석] []안의 부분만 보시면 됩니다. '#'은 관리자, '$'는 유저입니다. -..

c-i-s.tistory.com

처음에 코드를 배우려고 접하면 문턱에 턱 막힌 느낌이 듭니다.

다수의 유저를 생성하는 코드를 통해 접근을 해보겠습니다.

 

유저를 100개 생성하려면 일일이 명령어를 100번 입력해야 합니다.

스크립크로 한다면 간단한 코드로 100번 1000번도 할 수 있습니다.

 

유저 생성 코드

파일명은 useradd1.sh 입니다.

1 Line : 쉘 스크립트는 이것을 첫번째로 작성해야합니다. '#!/bin/sh'는  bash shell을 의미합니다.

2 Line : '#'은 주석을 의미합니다

3 Line : 파라미터 변수 i를 선언했습니다.

4 Line : 변수 j에 1을 저장했습니다.

6 Line : while 반복문입니다. 조건은 i가 j보다 같거나 클 때 탈출합니다.

7 Line : 반복문의 시작입니다.

8 Line : 변수 name에 test$j를 저장합니다. '$j'는 변수 j를 참조합니다.

9 Line : 명령어를 실행할 때 이런 식으로 지정합니다. name 변수를 참조해 이름을 지정합니다.

           또는 useradd $name으로 해도 됩니다.

10 Line : 변수 j에 1을 더해 다시 j에 저장합니다. 숫자를 연산할 때  ` 으로 묶어주고 expr을 붙입니다.

11 Line : 반복문의 끝 다시 위로 올라가 조건이 맞으면 탈출 아니면 다시 수행합니다.

12 Line : 종료 코드입니다. 0은 성공을 의미합니다.

 

이렇게 하고

'#> chmod 744 useradd1.sh'

chmod 명령어로 소유자에게 실행 권한을 줍니다.

 

실행은 '#> ./useradd1 [생성할 수]' 이렇게 입력하면 됩니다.

'#> ./useradd1 30' // 30개의 유저가 만들어집니다.

30개가 만들어졌습니다.

 

이것을 응용하면 기본 패스워드 지정과 유저들을 한꺼번에 삭제할 수도 있습니다.

 

삭제는 명령어만 바꾸어 주면 되는 부분이라

따로 설명은 하지 않겠습니다.

 

긴 글 읽어주셔서 감사합니다.
오류나 틀린부분이 있으시면 댓글로 남겨주시면 감사하겠습니다.
여러분들과 같이 공부하는 공간이 되었으면 좋겠습니다.

반응형

댓글