#!/bin/bash
########################################################
# AUTOUSERADD alpha.V.1.0 2004.12.1
# coypyright(c)조훈현
# E-mail : sajg@naver.com
#-------------------------------------------------------
# * 프로그램 설명 :
# 이프로그램은 한그룹에 속한 많은 수의 유저를 한번에
# 원하는 수만큼 자동적으로 생성해준다.
#-------------------------------------------------------
# !!! 주 의 사 항!!!
#
# * 생성계정의 패스워드는 없으므로 보안상 즉시 패스워드를
# 입력하시는 것이 좋습니다.
# * /etc/shadow 파일을 이용하고 있어야 합니다.
# * 이프로그램 사용으로 인한 어떠한 피해도 저작권자는
# 책임없음을 밝혀 둡니다.
# * REDHAT LINUX ES 3 에서 TEST하였습니다.
#
# ******************** 사 용 법 *************************
#
# 1. root 계정에서 실행하셔야 합니다.
# 2. $PATH에 autouseradd가 존재하는 디렉토리를 추가
# 하십시오.
# 3. 실행권한이 있어야 합니다.
#
# autouseradd [userid군] [생성될 유저의 수] [속할그룹]
# ex) autouseradd sajgj 100 project
#
# 생성결과
# 1. /home/project 디렉토리 생성
# 2. /home/project/sajgj1 .....sajgj10.....sajgj50 ..
# sajgj100 디렉토리 총 100개 생성
# 3. project 그룹에 속한 sajgj1~ sajgj100 유저생성
# 이들의 홈디렉토리는 /home/project/[자신의ID]
# 4. 초기패스워드는 없음. 자신의 계정에서 passwd 명령
# 으로 생성해주면 된다.
# 5. 그외 사항들은 일반사항은 useradd 명령어와 같다.
#########################################################
var=1
if [ -n "$3" ] # 세번째 argument가 입력되었는지 확인
then
### 그룹이름 얻기 ###
grpattern=`grep -w $3 /etc/group`
grpattern=${grpattern%%:*}
### GID 를 얻는다 98번줄 GID입력을 위해 쓰인다.###
grpatterngid=`grep -w $3 /etc/group`
grpatterngid=${grpatterngid#*:}
grpatterngid=${grpatterngid#*:}
grpatterngid=${grpatterngid%:*}
### 얻은 그룹과 파라미터가 패턴이 ###
### 맞는지 확인 후 맞지 않으면 그룹을 추가한다. ###
if [ "$3" != "$grpattern" ]
then
echo "$3 그룹이 존재하지 않습니다."
echo "$3 그룹을 추가합니다."
groupadd $3 # groupadd $3
echo "$3 그룹을 추가하였습니다. 명령을 다시 실행하십시오."
exit 0
fi
###그룹 디렉토리를 만든다.###
mkdir /home/$3
chown root:$3 /home/$3
while [ $var -le $2 ]
do
### 추가하려는 아이디가 존재하는지 확인 ###
patternid=`grep -w $3 /etc/passwd`
patternid=${patternid%%:*}
if [ "$1$var" = "$patternid" ]
then
echo "추가하려고 하는 $1$var 아이디가 존재합니다."
var=`expr $var - 1 `
if [ "$var" = 0 ]
then
echo "아이디를 추가하지 못했습니다."
else
echo "$11 부터 $1$var 아이디까지 추가하였습니다."
fi
exit 0
fi
### 추가할 uid 를 계산한다. ###
tailine=`tail -1 /etc/passwd`
tailine=${tailine#*:}
tailine=${tailine#*:}
tailine=${tailine%%:*}
tailine=`expr $tailine + 1`
### 실질적인 useradd 작업 ###
echo "$1$var:x:$tailine:$grpatterngid::/home/$3/$1$var:/bin/bash" >> /etc/passwd
echo "$1$var::12754:0:99999:7:::" >> /etc/shadow
touch /var/spool/mail/$1$var
mkdir /home/$3/$1$var
cp -a /etc/skel/. /home/$3/$1$var
chown -R $1$var:$3 /home/$3/$1$var
var=`expr $var + 1`
done
echo "작업 완료 !! cat /etc/passwd, cat /etc/shadow , ls -l /home/$3 하여 모든명령이 실행되었는지 확인하여주십시오."
else
echo " autouseradd 세번째 argument에 그룹이름을 입력하지 않으셨습니다."
fi
exit 0
#######################끝########################<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
########################################################
# AUTOUSERADD alpha.V.1.0 2004.12.1
# coypyright(c)조훈현
# E-mail : sajg@naver.com
#-------------------------------------------------------
# * 프로그램 설명 :
# 이프로그램은 한그룹에 속한 많은 수의 유저를 한번에
# 원하는 수만큼 자동적으로 생성해준다.
#-------------------------------------------------------
# !!! 주 의 사 항!!!
#
# * 생성계정의 패스워드는 없으므로 보안상 즉시 패스워드를
# 입력하시는 것이 좋습니다.
# * /etc/shadow 파일을 이용하고 있어야 합니다.
# * 이프로그램 사용으로 인한 어떠한 피해도 저작권자는
# 책임없음을 밝혀 둡니다.
# * REDHAT LINUX ES 3 에서 TEST하였습니다.
#
# ******************** 사 용 법 *************************
#
# 1. root 계정에서 실행하셔야 합니다.
# 2. $PATH에 autouseradd가 존재하는 디렉토리를 추가
# 하십시오.
# 3. 실행권한이 있어야 합니다.
#
# autouseradd [userid군] [생성될 유저의 수] [속할그룹]
# ex) autouseradd sajgj 100 project
#
# 생성결과
# 1. /home/project 디렉토리 생성
# 2. /home/project/sajgj1 .....sajgj10.....sajgj50 ..
# sajgj100 디렉토리 총 100개 생성
# 3. project 그룹에 속한 sajgj1~ sajgj100 유저생성
# 이들의 홈디렉토리는 /home/project/[자신의ID]
# 4. 초기패스워드는 없음. 자신의 계정에서 passwd 명령
# 으로 생성해주면 된다.
# 5. 그외 사항들은 일반사항은 useradd 명령어와 같다.
#########################################################
var=1
if [ -n "$3" ] # 세번째 argument가 입력되었는지 확인
then
### 그룹이름 얻기 ###
grpattern=`grep -w $3 /etc/group`
grpattern=${grpattern%%:*}
### GID 를 얻는다 98번줄 GID입력을 위해 쓰인다.###
grpatterngid=`grep -w $3 /etc/group`
grpatterngid=${grpatterngid#*:}
grpatterngid=${grpatterngid#*:}
grpatterngid=${grpatterngid%:*}
### 얻은 그룹과 파라미터가 패턴이 ###
### 맞는지 확인 후 맞지 않으면 그룹을 추가한다. ###
if [ "$3" != "$grpattern" ]
then
echo "$3 그룹이 존재하지 않습니다."
echo "$3 그룹을 추가합니다."
groupadd $3 # groupadd $3
echo "$3 그룹을 추가하였습니다. 명령을 다시 실행하십시오."
exit 0
fi
###그룹 디렉토리를 만든다.###
mkdir /home/$3
chown root:$3 /home/$3
while [ $var -le $2 ]
do
### 추가하려는 아이디가 존재하는지 확인 ###
patternid=`grep -w $3 /etc/passwd`
patternid=${patternid%%:*}
if [ "$1$var" = "$patternid" ]
then
echo "추가하려고 하는 $1$var 아이디가 존재합니다."
var=`expr $var - 1 `
if [ "$var" = 0 ]
then
echo "아이디를 추가하지 못했습니다."
else
echo "$11 부터 $1$var 아이디까지 추가하였습니다."
fi
exit 0
fi
### 추가할 uid 를 계산한다. ###
tailine=`tail -1 /etc/passwd`
tailine=${tailine#*:}
tailine=${tailine#*:}
tailine=${tailine%%:*}
tailine=`expr $tailine + 1`
### 실질적인 useradd 작업 ###
echo "$1$var:x:$tailine:$grpatterngid::/home/$3/$1$var:/bin/bash" >> /etc/passwd
echo "$1$var::12754:0:99999:7:::" >> /etc/shadow
touch /var/spool/mail/$1$var
mkdir /home/$3/$1$var
cp -a /etc/skel/. /home/$3/$1$var
chown -R $1$var:$3 /home/$3/$1$var
var=`expr $var + 1`
done
echo "작업 완료 !! cat /etc/passwd, cat /etc/shadow , ls -l /home/$3 하여 모든명령이 실행되었는지 확인하여주십시오."
else
echo " autouseradd 세번째 argument에 그룹이름을 입력하지 않으셨습니다."
fi
exit 0
#######################끝########################<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
댓글 1개
게시글 목록
| 번호 | 제목 |
|---|---|
| 666 | |
| 665 |
JavaScript
vim에서 컬러는 나오게 하기
|
| 664 | |
| 662 | |
| 661 |
MySQL
my.cnf 파일은 어디에?
|
| 660 | |
| 659 |
MySQL
cron 설정
|
| 658 |
JavaScript
호스트네임 바꾸기
|
| 657 |
JavaScript
하드링크와 심볼릭링크?
|
| 17821 |
HTML
콘솔의 화면보호기능을 끄려면?
|
| 656 |
기타
스틱키
|
| 655 |
JavaScript
날짜 바꾸기 date 명령을 이용
|
| 17820 |
HTML
스왑 사용 안하기
|
| 653 | |
| 652 |
기타
SSH
|
| 651 |
JavaScript
rsync 백업
|
| 649 |
JavaScript
저 사양 PC로 리눅스 라우터 만들기
1
|
| 648 |
Linux
Tripwire
|
| 647 | |
| 646 | |
| 645 | |
| 644 |
JavaScript
링크 시킨 파일 찾기
|
| 643 |
JavaScript
리눅스 하드웨어 정보 보기
|
| 642 | |
| 641 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기