Contents

리눅스 Primary, Slave DNS, 사용자 관리

   Mar 21, 2023     9 min read

기본구성

1

2

Primary DNS

01. 네임서버에서 사용할 도메인의 zone 파일을 설정해줘야 한다.

# mount /dev/cdrom /cdrom
# yum -y install bind caching-nameserver



# vi etc/named.caching-nameserver.conf



3

# vi /etc/named.rfc1912.zones

zone "x.com" IN {
    type master;
    file "x.com.zone";
    notify yes;
    allow-transfer {192.168.10.2;};
    allow-update {192.168.10.2;};
};

zone "10.168.192.in-addr.arpa" IN {
    type master;
    file "x.com.rev";
    notify yes;
    allow-transfer {192.168.10.2;};
    allow-update {192.168.10.2;};
};



4

02. zone 파일 생성하기

# cd /var/named
# cp localdomain.zone x.com.zone
# cp named.local x.com.rev



03. 퍼미션 설정하기

# chown root.named x.com.zone
# chmod 777 x.com.zone

# chown root.named x.com.rev
# chmod 777 x.com.rev



04. zone 파일 편집하기

# vi x.com.zone



5

# vi x.com.rev



6

05. 서비스 시작

# service named restart



Slave DNS

# mount /dev/cdrom /cdrom
# yum -y install bind caching-nameserver



# vi /etc/named.caching-nameserver.conf



7

# vi /etc/named.rfc1912.zones

zone "x.com" IN {
    type slave;
    file "slaves/x.com.zone";
    masters {192.168.10.1 port 53;};
};

zone "10.168.192.in-addr.arpa" IN {
    type slave;
    file "slaves/x.com.rev";
    masters {192.168.10.1 port 53;};
};



8

# service named restart



결과

  • L3에서 확인

# cd /var/named.slaves

# ls
x.com.zone
x.con.rev



9

복제가 제대로 잘 되었다.

10

사용자 관리

계정설명
root관리자 계정이며, 모든 권한을 행사할 수 있음.
system시스템 운영시 필요한 계정이며, 로그인은 불가능함.
user일반 계정이며, root처럼 모든 권한을 행사할 수 없음.



명령어설명
/etc/passwd계정 전체 정보 관리 파일.
/etc/shadow계정 패스워드 관리 파일.
/etc/group계정 그룹 관리 파일.



User1 생성

Step 01.

# vi /etc/shadow
user1:암호화된 패스워드:::...



  • gdm 행 복사(yy) -> 붙이기(p) : gdm 사용자를 user1로 변경 후 저장(wq!)

# vi /etc/passwd
user1:x:501:501:sales:/home/user1:/bin/bash

# vi /etc/group
user1:x:501:



Step. 02

# mkdir -p /home/user1
# cd /etc/skel
# cp .* /home/user1/

# chmod -R 700 /home/user1
# chown -R user1.user1 /home/user1



Step. 03

# passwd user1
새 패스워드 : cisco
확인 패스워드 : cisco



11

12
user1로 잘 로그인이 되어진다.

Ex. user 만들어 보기

13

방법

# vi /etc/shadow
user1:~
user2:~
user3:~
user4:~

# vi /etc/passwd
user1:x:501:505:sales:/home1/user1:/bin/bash
user2:x:502:505:sales:/home2/user2:/bin/csh
user3:x:503:506:sales:/home3/user3:/bin/ksh
user4:x:504:506:sales:/home4/user4:/bin/sh

# vi /etc/group
sales:x:505:user1,user2
humans:x:506:user3,user4



  • user1
# mkdir -p /home1/user1
# cd /etc/skel
# cp .* /home1/user1/

# chmod -R 700 /home1/user1
# chown -R user1.sales /home1/user1

# passwd user1
새 패스워드 : cisco
확인 패스워드 : cisco



  • user2
# mkdir -p /home2/user2
# cd /etc/skel
# cp .* /home2/user2/

# chmod -R 700 /home2/user2
# chown -R user2.sales /home2/user2

# passwd user2
새 패스워드 : cisco
확인 패스워드 : cisco



  • user3
# mkdir -p /home3/user3
# cd /etc/skel
# cp .* /home3/user3/

# chmod -R 700 /home3/user3
# chown -R user3.humans /home3/user3

# passwd user3
새 패스워드 : cisco
확인 패스워드 : cisco



  • user4
# mkdir -p /home4/user4
# cd /etc/skel
# cp .* /home4/user4/

# chmod -R 700 /home4/user4
# chown -R user4.humans /home4/user4

# passwd user4
새 패스워드 : cisco
확인 패스워드 : cisco



결과

  • user1로 로그인 해서

$ echo $SHELL

$ pwd

$ ls -ld /home1/user1

$ id

$ touch 1.txt

$ ls -l



14

15
user1에 sales 그룹에 잘 생성 되었다.

16

17

18

사용자 관리

  • 참고
# rm -rf /home/user1
# userdel -r user1
# userdel -r user2
# userdel -r user3
# userdel -r user4
# groupdel sales
# groupdel humans



  • /etc/passwd, /etc/group, /etc/shadow

  • cat /etc/passwd

  • root:x:0:0:root:/root:/bin/bash

root계정 이름
x패스워드이며, etc/shadow 파일에 저장되어 있음
0커널이 참조하는 root 계정 식별자
0root 계정이 소속된 그룹, 0이면 Primary 그룹을 의미함
root계정 주석
/rootroot 계정의 사용자 Home 디렉토리
/bin/bashroot 계정이 로그인할 때, 할당 받는 쉘



useradd

  • useradd [옵션] 유저이름
  • -d : 홈 디렉토리 지정 (자동으로 홈디렉토리 생성)
  • -g : group 지정 (미리 생성되어 있어야 함)
  • -c : 사용자에 대한 설명
  • -s : 사용할 shell 지정 (bash, csh, ksh)
  • -p : 새로운 사용자와 패스워드를 함께 생성한다. (Ex:useradd -p 123456798 user6)
  • -m -k skel_dir : skel 디렉토리를 지정한다.

  • -G : 기본그룹 외에 추가로 그룹 지정
  • -D : /etc/default-useradd 에 설정된 유저 추가와 관련된 기본 사항 보기

# useradd user1
# useradd -g users user1

# ls -dl /home/user1
# ls -al /etc/skel



Ex. 사용자 관리

# mkdir /dir1
# chmod 755 /dir1

# mkdir /skel2
# touch /skel2/1
# chmod 755 /skel2

# groupadd -g 502 sales
# groupadd -g 503 humans

# useradd -d /dir1/user1 -u 5011 -s /bin/csh -c Tester -m -k /skel2 -g sales -G humans -e 2023-03-21 -p 123 user1

# cat < /etc/passwd | grep user1
# cat /etc/group | grep user1
# cat /etc/shadow | grep user1

# cd /dir1
# ls



19

참고

# userdel -r user1 (삭제 시)
# useradd user1

# chfn user1 : 사용자 정보 변경하기
# finger user1 : 사용자 정보 확인하기



usermod

  • usermod [옵션] 사용자명

  • -c ( 사용자 설명 )
  • -p (패스워드 변경)
  • -d ( 홈디렉토리 변경 )
  • -m ( 홈디렉토리 변경시 파일도 옮김 )
  • -e ( 계정 종료일 변경 )
  • -s ( 기본 쉘 변경 )
  • -u ( UID 변경 )
  • -g ( 기본그룹 변경 )
  • -G ( 추가그룹 변경 )
  • -l ( 사용자명 변경 )
  • -L ( 사용자 패스워드에 LOCK 걸기 )
  • -U ( 사용자 패스워드에 LOCK 풀기 )

# useradd user1
# passwd user1

# usermod -c manager user1

# usermod -p 123 user1

# mkdir /home2
# usermod -d /home2/user1 -m user1

# usermod -l newuser1 -d /home2/newuser1 -m user1

# groupadd sales
# groupadd humans

# usermod -G sales, humans user1
# usermod -g sales user1

# cat /etc/group

# usermod -L user1
# usermod -U user1
# usermod -e 2020-12-31 user1



userdel

  • userdel [옵션] 유저명
  • -r (사용자의 홈디렉터리도 제거함)

# userdel user1
# ls -l /home



  • 홈 디렉터리는 남아 있고, user1 생성 시 그룹을 지정하지 않아 user1 그룹이 생성되었으면 그 그룹도 제거된다.

# userdel -r user2
# ls -l /home



  • 홈 디렉터리는 제거되고, user1 생성시 그룹을 지정하지 않아 user1 그룹이 생성되었으면 그 그룹도 제거 된다.

  • 참고) 유저 추가시 /var/spool/mail/ 폴더에 유저 계정과 같은 파일이 생성된다.
    유저 추가시 마다 Creating mailbox file: File exists 에러 나오면

rm -rf /va/spool/mail/user1
rm -rf /home/user1



스크립트를 이용한 사용자 계정 생성(참고)

# groupadd staff
# mkdir /home1

# vi adduser.sh

01 #!/bin/ksh
02
03 i=1
04
05 while (( i <= 100))
06 do
07      echo " Add user name user${i} "
08      useradd -d /home1/user${i} -m -s /bin/ksh -g staff user${i}
09      passwd -d user${i}
10      (( i = i + 1 ))
11 done



20

# chmod 777 adduser.sh
# ./adduser.sh



21

# tail /etc/passwd



22

# logout

user1 로그인 -> passwd



23
정상적으로 로그인이 되었다.

24
user100까지 스크립트로 사용자 계정이 생성 되었다.

  • user 삭제하기

25

# vi adduser.sh

01 #!/bin/ksh
02
03 i=1
04
05 while (( i <= 100))
06 do
07      echo " Del user name user${i} "
08      userdel -r user${i}    
09      (( i = i + 1 ))
10 done