이전글
리눅스 계정 관리
예시
우리는 이 문제를 main-server에서 해결할 것 입니다. 이것을 꼭 해줘야 다음 꺼까지 작업할 수 있습니다.
맨 처음에 할일은 UserGroup를 만드는 것 입니다.
groupadd semiAdmin
groupadd common
vim /etc/group
위의 코드대로 groupadd를 이용하여 추가를 해주고 /etc/group에 들어가서 문제에 맞는 숫자로 바꿔줘야합니다.
아니면 그냥 /etc/group에 들어가서 손으로 직접 추가시켜도 됩니다.
위와 같이 semiAdmin:x:1040:과 common:x:1050:로 바꿔줍니다.그 후 semiAdmin에 있는 계정 2개먼저 생성해 봅시다.
mkdir smadmin
useradd -d /home/smadmin/smroot1 -g semiAdmin -s /bin/bash -m smroot1
smadmin이라는 파일이 존재하지 않기 때문에 미리 만들어 주고 그 후 useradd에 -d 옵션으로 직접 디렉토리 위치를 정해줍니다. -g로 그룹을 정해주고 또 useradd는 모든 설정을 직접해줘야하기 때문에 쉘 종류까지도 적어줘야합니다. 그렇기에 -s 옵션을 이용하여 /bin/bash를 추가해줍니다. -m까지 적어줘야지 home 디렉토리까지 생성됩니다. 일단 이와 동일하게 계정 하나를 더 만들어 봅시다.
useradd -d /home/smroot2 -g semiAdmin -s /bin/bash -m smroot2
이제 이러면 semiAdmin 그룹에서는 만들어야하는 모든 계정을 만들었습니다. 이제 비고에 있는 비밀번호 사용기간14일을 설정할 것입니다. 이때는 chage 명령어를 사용합니다.
chage -m 14 smroot1
chage -l smroot1
Minimum number of days between password change가 14일이 된것을 볼 수 있습니다. 최소 유효기간이기 때문에 -m을 옵션으로 해줘야합니다. Maximum같은 경우는 -M 옵션입니다. 이렇게 둘다 설정해주면 semiAdmin 그룹은 전부 설정이 끝났습니다. 이제는 common 그룹쪽을 설정해 봅시다.
mkdir common
useradd -d /home/common/user01 -g common -s /bin/bash -m user01
useradd -d /home/user02 -g common -s /bin/csh -m user02
useradd -d /home/user03 -g common -s /bin/bash -m user03
이제는 아실거라 믿습니다. 설명할 것은 -g로 common으로 설정해주고 user02를 보면 /csh로 설정하라 했는데 저것 도 쉘 종류중 하나기 때문에 /bin 에 있습니다. 저런식으로 설정해 주면 계정 생성은 끝납니다. 이제 패스워드 설정만 해주면 됩니다. 명령어는 전부 공통입니다.
passwd smroot1
passwd smroot2
passwd user01
passwd user02
passwd user03
위와 같이 passwd 명령어를 이용하여 위 표와 동일하게 패스워드를 설정해 줍니다. 이제 아래 문제에 대한 답입니다.
위 명령어로 했을 경우 왼쪽처럼 보일 것 입니다. 오른쪽같은 경우에는 가시성을 위해 저런식으로 해둬도 됩니다(안적어줘도 잘 작동합니다..)
위와 같이 뜬다면 전부 완료한 것 입니다. 여기까지가 문제 입니다. 이제 추가 설정입니다. ssh 설정을 건들여 줘서 semiAdmin만 ssh에 접속가능하게 만들어 봅시다.
vim /etc/ssh/sshd_config
위와 같이 설정해 주면 됩니다. AllowGroups를 제외하고도 다른 것들도 존재합니다. AllowGroups는 주석으로 안적혀 있기때문에 원하는 위치에 추가해서 적어주시면 됩니다.
특정 유저에 대해 허용할 경우
- AllowUsers, User, Buser, Cuser, Duser
- 공백을 기분자로 사용하여 나열합니다.
특정 IP의 특정 계정에 대해 허용할 경우
- AllowUsers username@ip
Allow를 Deny로 하면 전부 차단이 됩니다(AllowUsers, AllowGroups, DenyUsers, DenyGroups).
이 후 sshd 서비스를 재시작해주고 window client에서 접속을 해봅시다.
설정해준 Group명 semiAdmin이 아닌 다른 것들을 전부 접속이 되지 않고 semiAdmin를 그룹으로 가지고 있는 계정들만 ssh로 접속이 되는 것을 확인할 수 있습니다.
DNS 설정
DNS 설정은 slave-server에서 진행합니다.
apt install bind9
위 명령어를 통해 bind9를 설치해 줍니다. DNS를 사용해주기 위해 bind9를 사용할 것 입니다.
cd /etc/bind
ll
ll 쳤을때 모습입니다. 저는 이미 많은 zone들을 미리 만들어 놔서 여러가지들이 있는데 딱히 신경쓰지 않아도 됩니다.
vim named.conf
named.conf에서 모든 DNS설정이 이루어져 있습니다, 하지만 위 문구를 보시면 알겠지만 여기다 추가하지는 말라고 하네요. 우리는 include되는 것들 중에서 named.conf.local이라는 곳에 zone를 추가해줄 것입니다.
저는 미리 설정을 해두었기 때문에 이런식으로 뜨는데 원래는 아무것도 안적혀 있으실 겁니다. 원하는 도메인으로 하기 위해 위 사진처럼 해주시면 됩니다.
zone "도메인 명" IN {
type master;
file "zone파일 경로";
};
위 처럼 적어주시면 됩니다. 이게 정방향입니다. 도메인(문자) → IP(숫자)로 바꿔주는 형태 입니다.
zone "아이피 입구 반대로 적기.in-addr.arpa" IN {
type master;
file "zone파일 경로";
}
위처럼 적어주시면 역방향으로 설정이 됩니다. IP(숫자) → 도메인(문자)로 바꿔줍니다.
이제 파일 경로에서 적어둔 파일을 실제로 만들어 줄 것 입니다. 여기서 일일이 치는 것 보다 db.local를 복사해서 사용해 줄 겁니다.
저는 이름을 sunrin.com.zone으로 설정해뒀기 때문에 이대로 만들어 주었습니다. 위 SOA 부분에서 localhost 부분을 자신의 도메인으로 바꿔 주시고 아래 NS부분도 바꿔줍니다. 그 이후 ns를 알려줘야하기 때문에 2번째 줄을 보면 ns의 주소를 알려준것을 알수있습니다. @는 아무런 서브 도메인도 없는 경우, 그 외에는 앞에 적어줘야지 뒤에 적어준 아이피로 이동하게 됩니다. 이후
systemctl restart bind9
service bind9 restart
위 2명령어 중에 원하는 것으로 bind9를 재시작 해줍니다. 그 후 window client에서 cmd에 nslookup를 입력해 봅시다.
sunrin.com이 22.1.24.10를 가르키고 있다는 것을 알 수 있습니다. 이렇게 되면 ssh도 웹서비스도 다 저 도메인으로 입력하게 되면 접속이 성공하게 됩니다. vmware-tools를 깔아서 fileZilla와 Putty를 깔아서 fileZilla로 main-server에 접속해 봅시다.
저는 다시 포트를 22로 바꿨지만 혹시 바꾸지 않으셨다면 22000포트로 해주시면 접속이 되실 겁니다...
만약 혹시 접속이 안되면 sftp 설정을 한번 해보세요.
sunrin.com에 접속했을때 22.1.24.10으로 접속되는것을 확인할 수 있습니다.
오늘은 여기까지 입니다. DNS까지 성공하셨습니다~
'기능반공부 > 네트워크' 카테고리의 다른 글
[network] IT 네트워크 심화 수업 - 2 ( DNS, DHCP, DMVPN ) (1) | 2022.11.15 |
---|---|
[network] IT 네트워크 심화 수업 - 1 ( GRE, IPSec ) (0) | 2022.11.14 |
[네트워크] VLAN, Inter-VLAN (0) | 2022.02.09 |
[네트워크] 맥 주소 변환 + rip (0) | 2022.02.02 |
[네트워크] NAT에 대해서 (0) | 2022.01.27 |