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 에게
이 사항을 복사한다.
파일 다시수정
------------
#!/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
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 |