본문 바로가기

개인 공부방/LINUX 기본

DNS사용자 계정 생성



useradd
grep -cw itbank /etc/passwd
 
1 - 계정이 존재하면 생성불가
0 - 계정이 존재하지 않으면 생성
 
useradd
passwd
 
vi createuser.sh
---------------
#!/bin/sh
echo "사용자 생성을 합니다~!!!"
END=0
while [ $END = 0 ]; do
printf "사용자 계정 : "
read INPUTUSER
if [ `grep -c -w $INPUTUSER /etc/passwd` = 0 ];
   then
 echo "$INPUTUSER을 생성합니다"
 END=1
   else
 echo "$INPUTUSER는 존재합니다"
fi
done
---------------
 
vi /etc/named.rfc19~ 파일의
local 부분을 복사하고
 
cp /var/named/localhost.zone
mkdir dns //루트에만듬
mv creatuser.sh localhost.zone rfc1912.defaul.zones.dns
cd dns
ls  //하면 3개의 파일
 
ls /etc/skel -al         //계정들이생성되면 이곳에 들어감
cp -R /etc/skel .        //skel 폴더의 모든것들을 현재폴더 dns에                     복사
 
 
 
mkdir skel/.dns
mv localhost.zone rfc~ skel/.dns/
ls -aR skel
 
cd ..
mv dns /var/named
cd /var/named
 
vi createuser.sh
에서
------------------
#!/bin/sh
echo "사용자 생성을 합니다~!!!"
#!/bin/sh
echo "사용자 생성을 합니다~!!!"
END=0
while [ $END = 0 ]; do
printf "사용자 계정 : "
read INPUTUSER
if [ `grep -c -w $INPUTUSER /etc/passwd` = 0 ];
   then
 echo "$INPUTUSER을 생성합니다"
 /usr/sbin/useradd -k /var/named/dns/skel/ -m -G named $INPUTUSER
 cp -a /var/named/localhost.zone /var/named/$INPUTUSER.zone
 chown $INPUTUSER /var/named/$INPUTUSER.zone
 passwd $INPUTUSER
 END=1
   else
 echo "$INPUTUSER는 존재합니다"
fi
done
----------------------
으로 수정
 
이제 파일을 실행해서
계정을 만들고
 
su - gooday
ls -al
ls .dns 하면 생성된 파일을 볼 수 있다.
 
 
사용자계정에서
 
vi .bashrc
-----------
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
# DNS
if [ -f /var/named/$USER.zone ];
then
        if [ -f ./$USER.zone ];
                then
                echo "DNS 파일이 존재합니다."
        else
                ln -s /var/named/$USER.zone ./$USER.zone
else
        echo "DNS zone 파일이 존재하지 않습니다."
        echo "관리자와 상의하십시오"
fi
 
---------
 
 
vi /var/named/dns/skel/.bashrc      에게
 
이 사항을 복사한다.
 
 

root@/var/named/dns/c
~
파일 다시수정
------------
#!/bin/sh
DS="/var/named"
echo "사용자 생성을 합니다~!!!"
END=0
while [ $END = 0 ]; do
printf "사용자 계정 : "
read INPUTUSER
if [ `grep -c -w $INPUTUSER /etc/passwd` = 0 ];
   then
 echo "$INPUTUSER을 생성합니다"
 /usr/sbin/useradd -k $DS/dns/skel/ -m -G named $INPUTUSER
 cp -a $DS/localhost.zone $DS/$INPUTUSER.zone
 chown $INPUTUSER $DS$INPUTUSER.zone
 passwd $INPUTUSER
 DNSEND = 0
while [ $DNSEND = 0 ] ; do
 printf "도메인 입력 : "
 read INPUTDNS
 if [ `grep -c -w $INPUTDNS /etc/named.rfc1912.zones` = 0 ];
        then
                sed "s/domain/$INPUTDNS/" /var/named/dns/rfc1912.default.zones >/home/$INPUTUSER/.dns/rfc1912.default.zones.tmp
                sed "s/dnsfile/$INPUTUSER/" /home/$INPUTUSER/.dns/rfc1912.default.zones > /home/$INPUTUSER/.dns/rfc1912.default.zones.tmp
                cat /home/$INPUTUSER/.dns/rfc1912.default.zones >> /etc/named.rfc1912.zones
        rm -rf /home/$INPUTUSER/.dns/rfc1912.default.zones.tmp
                DNSEND=1
        else
                echo "DNS 존재"
        fi
        done
        DNS=1
  else
        echo "$INPUTUSER는 존재합니다."
fi
 END=1
   else
 echo "$INPUTUSER는 존재합니다"
fi
done
--------------
 
root@serv1
dns
 
mv rfc1912.default.zones ../../
cd ../../
vi rfc1912~


'개인 공부방 > LINUX 기본' 카테고리의 다른 글

proftpd.conf 설정, limit 사용, ftp limit의 특정한 범위 지정  (0) 2016.04.06
DNS 사용자 계정 생성 2  (0) 2016.04.06
named 동작원리  (0) 2016.04.06
DNS 설치  (0) 2016.04.06
RPM, YUM 공통점, 차이점  (0) 2016.04.06