#!/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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 8511 |
JavaScript
아파치 로그 정리(압축) logrotate
|
| 8510 |
MySQL
아파치와 mysql 자동실행 시키는 방법..
|
| 8509 | |
| 8506 |
PHP
아파치 무단링크 막기
2
|
| 8505 | |
| 8503 | |
| 8502 | |
| 8497 | |
| 8492 | |
| 8491 | |
| 8490 | |
| 8489 |
JavaScript
불여우에서도 되는 메뉴 2
|
| 8487 | |
| 8484 | |
| 8483 | |
| 8482 | |
| 28459 | |
| 8481 | |
| 8478 | |
| 8477 | |
| 8475 | |
| 8474 | |
| 8473 | |
| 8472 |
JavaScript
RH7.3 설치후 해주어야 할것들
|
| 8471 | |
| 8469 | |
| 8468 | |
| 8467 | |
| 8466 | |
| 8465 |
JavaScript
원하는 사람에게 메일 보내기 버튼 만들기
|
| 8464 | |
| 8463 | |
| 8462 | |
| 8461 | |
| 8460 |
JavaScript
전송버튼에 '전송중...' 이라는 표시를 해 줍니다
|
| 8459 | |
| 8458 | |
| 8457 | |
| 8456 |
JavaScript
텍스트 필드에 디폴트 메세지를 보여주고 클릭하면 사라집니다
|
| 8455 |
JavaScript
특정일(ex 30일)이 지난 파일 삭제 및 디렉토리 이동하기
|
| 8452 |
MySQL
cron [퍼옮]
2
|
| 8451 |
MySQL
mysql에서의 subquery
|
| 8449 |
MySQL
여러데이터베이스 사용하는 방법 - 퍼옮
1
|
| 28458 |
HTML
문자열 연결 CONCAT()
|
| 8445 | |
| 8444 |
MySQL
패스워드 변경 및 루트 패스워드 찾기
|
| 8443 |
MySQL
MySQL 설치
|
| 8442 | |
| 8441 |
MySQL
MySQL 컬럼 형 [퍼옮]
|
| 8440 | |
| 8439 |
MySQL
MySQL 내부연산 ( 비교연산 )
|
| 8438 | |
| 8437 |
MySQL
MySQL 함수정리 ( 수학함수 ) [퍼옮]
|
| 8436 |
JavaScript
GROUP BY 와 같이 사용되는 함수 [퍼옮]
|
| 8435 |
MySQL
MySQL 문자열 관련함수[퍼옮]
|
| 8433 |
MySQL
MySQL 날짜 관련 함수[퍼옮]
1
|
| 8428 | |
| 8427 | |
| 8426 |
MySQL
MySql 기본명령어 모음[콘솔사용시]
|
| 28456 | |
| 8425 |
JavaScript
유효 도메인 책크하기
|
| 8424 | |
| 8423 | |
| 8422 | |
| 8421 |
기타
파일 관련함수 [퍼옮]
|
| 8419 | |
| 8418 | |
| 8417 |
PHP
미리 정의된 변수들 [퍼옮]
|
| 28455 |
HTML
디렉토리 관련함수 [퍼옮]
|
| 8416 |
MySQL
문자열 함수 - 퍼 옮 -
|
| 8415 |
JavaScript
배열함수
|
| 8414 | |
| 8412 |
JavaScript
mktime()
1
|
| 28454 |
HTML
setcookie
|
| 8411 |
PHP
array_rand()
|
| 28451 |
HTML
eregi() vs ereg()
2
|
| 8410 |
JavaScript
strrchr()
|
| 8409 |
기타
key()
|
| 8406 |
JavaScript
GetImageSize()
2
|
| 8405 |
JavaScript
리눅스 서버의 시간이 맞지 않을때?
|
| 28450 |
HTML
man 페이지 txt파일로 저장하기
|
| 8404 | |
| 8403 |
기타
이동식 메뉴 박스
|
| 8402 | |
| 8401 | |
| 8400 |
JavaScript
체크박스를 클릭하면 이동하는 체크박스 메뉴 스크립트
|
| 8399 | |
| 8391 | |
| 8390 | |
| 8389 |
JavaScript
디렉토리 내에서 파일만 퍼미션 변경
|
| 8387 | |
| 28447 |
HTML
이미지를 5단계로 키워서 보자
2
|
| 8386 |
JavaScript
DirectX의 와이프 기능을 사용한 이미지 스와핑 효과
|
| 8384 | |
| 8382 |
JavaScript
특정 이미지를 지정한 날까지만 보여줍니다
1
|
| 8380 | |
| 8379 | |
| 8377 |
JavaScript
iframe 써서 노 프레임 효과 내기
1
|
| 8376 | |
| 8375 |
MySQL
[펌] mysql 인덱싱.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기