Server Engineer/Script

AIX용 그룹 및 계정 생성 스크립트

까만핀치 2017. 9. 6. 10:49

고객사에서 다수의 계정을 만들어야 된다고 한다.


그래서 만들어본 스크립트!


[그룹 생성 스크립트]

1) 생성할 그룹의 정보가 담긴 group.txt 파일을 만들어서 내용을 "그룹ID 그룹이름"으로 작성


# cat group.txt

1500 testgrp1

1600 testgrp2

1700 testgrp3



2) 아래 내용으로 스크립트를 만들어서 group.txt 파일과 같은 디렉토리에 넣고 실행


#!/bin/sh
ls -l ./group.txt > /dev/null
if [ $? -eq 0 ]
 then
  while read line
   do
    export GID=`echo $line | awk '{print $1}'`
    export GRN=`echo $line | awk '{print $2}'`
    cat /etc/group | grep "$GRN\:" > /dev/null
     if [ $? -ne 0 ]
      then
       echo "$GRN doesn't exist"
       mkgroup -'A' id="$GID" "$GRN"
      else
       echo "$GRN exists"
     if
   done < group.txt
fi



[계정 생성 스크립트]

1) 생성할 계정의 정보가 담긴 user.txt 파일을 만들어서 내용을 "유져ID 그룹이름 유져이름"으로 작성


# cat user.txt

1501 testgrp1 test1

1502 testgrp1 test2

1601 testgrp2 test3

1701 testgrp3 test4


2) 아래 내용으로 스크립트를 만들어서 user.txt 파일과 같은 디렉토리에 넣고 실행


#!/bin/sh
ls -l ./user.txt > /dev/null
if [ $? -eq 0 ]
 then
  while read line
   do
    export UID=`echo $line | awk '{print $1}'`
    export GRP=`echo $line | awk '{print $2}'`
    export USN=`echo $line | awk '{print $3}'`
    cat /etc/passwd | grep "$USN\:" > /dev/null
     if [ $? -ne 0 ]
      then
       cat /etc/group | grep "$GRP\:" > /dev/null
        if [ $? -eq 0 ]
         then
          echo "$USN doesn't exist and $GRP exists"
          mkuser id="$UID" pgrp="$GRP" "$USN"
          echo "$USN:imsi1234" > imsi.pass
          cat imsi.pass | chpasswd
          rm ./imsi.pass
         else
          echo "$USN doesn't exist but $GRP doesn't exist, too"
        fi
      else
       echo "$USN exists"
     fi
   done < user.txt
fi



고객사에서는 잘 작동하는걸 확인하고 나왔지만,

테스트 해 볼 서버가 없기 때문에 포스팅하는 시점에는 오타 검증등이 되지 않았으므로

꼭 사용 전에 테스트 해 볼 것!


끝!