리눅스 서버 21

네임서버 (Domain Name Service)

도메인 이름을 IP주소로 변환시켜주는 역할. hosts 파일에 URL과 IP주소를 저장해 놓는다. ip주소 URL 형태로 102.54.94.97 rhino.acme.com 127.0.0.1 localhost /etc/hosts window : C:\Windows\system32\drivers\etc\hosts url주소를 받으면 -> /etc/host.conf 조회 -> 없으면 /etc/hosts 조회 -> 없으면 /etc/resolv.conf (name서버의 ip주소가 있음, 최상위) 이 중 만약 없다면 응답 안함 있다면 ip주소 획득. 트리구조로 만들어놨음. 원래는 www.naver.com. 처럼 맨 뒤에 .을 추가했었었는데, 불편해서 생략. 이 점의 뜻은 루트라는 뜻임. root -> com -> ..

OPEN SSH 서버

텔넷이랑 같은데, 텔넷은 오래전부터 사용해 왔으나 서버와 데이터 전송 시에 데이터를 암호화 하지 않아 해킹 위험에 노출. 실제로 텔넷에서 전송되어지고 있는 데이터들을 알아내는 것은 별로 어려운 일이 아님. 여기서 나온게 OPEN SSH서버. 물론 보인이 강화된 telnet 서버도 존재하나, 일반적으로 SSH 서버를 더 많이 사용. 1. rpm -qa openssh-server 로 설치 확인. 보통 리눅스는 설치되어 있음. systemctl status sshd (ssh 데몬) 2. running 중이라면, 바로 클라이언트에서 접속 해보면 됨. ssh 아이디@서버IP주소 암호화 방식으로 뭐 사용하는데 동의하냐고 묻는데 yes 하면 됨. 비밀번호 입력하면 됨. 그 전에 뭐 뜨는데, 아마 호스트의 회원리스트에..

텔넷 서버

옛날 방법 보안에 취약 서버에 텔넷 서버 설치 (데몬 만듦) 접속할 원격지에선 텔넷 클라이언트 프로그램 필요. (구버전) (비교적 최근) 각 데몬마다 사용하는 포트가 있음. 텔넷 서비스 작동 순서 텔넷 서버 구축 1. rpm -qa telnet-server 로 텔넷 서버 설치됐나 확인. 아무것도 안나오면 설치 안된거임. 2. dnf -y install telnet-server로 설치 3. systemctl start telnet.socket 으로 텔넷 서비스 시작. (systemctl : 시스템 데몬을 관리하는, 서비스 제어 관리 명령어) - systemctl status telnet.socket으로 되고 있나 확인. Active에 실행중인지 나오고, Listen에 어떤 번호의 포트가 듣고 있는지 나옴...

원격지에서 리눅스 서버 관리

서버 관리 중 가장 기본 리눅스 서버 구동되는 유형 inetd (소켓(필요할 때만 구동)) 타입 데몬 standalone (서비스(항상 메모리 상주)) 타입 데몬 데몬 (항상 구동되고 있는 서비스 프로세서) 클 -> 서버 접속 요청한 서비스 특성에 따라 서버는 inetd 타입이나 standalone 타입 결정 xinetd(슈퍼 데몬) conf 설정 파일 서비스 별 포트 번호가 정의되어 있음 /etc/service 서버 유형

쉘 스크립트 프로그래밍

리눅스의 많은 부분과 서버 데몬 스크립트는 쉘 스크립트로 되어있음. 별도로 컴파일 하지 않고 텍스트 파일 형태로 바로 실행. 파일명.sh (꼭 이렇게 안해도 실행이 되긴 하나 관례임) 첫줄에 #!/bin/sh 이렇게 작성. 관례임. /bin/sh를 이용해 실행한단 뜻임. 저장 시 실행 접근권한이 없는데, 원하는 대로 chmod로 수정 실행 sh 파일명.sh 아니면 실행권한이 있는 상태서 ./파일명.sh로 실행 가능 근데 이게 만약 이 파일이 있는 디렉토리를 $PATH에 등록하면 파일명.sh 만으로도 실행 가능. 인터프리터 방식이라, 변수를 미리 선언하지 않고 필요할 때 값을 할당하면서 사용 모든 변수는 문자열로 취급 testval=7+5 echo $testval "7+5"로 나옴 변수에 값 대입할 때 =..

리눅스 설정 파일들 쉘 스크립트로 되어있음. 사용자가 명령을 입력하면 shell이 해독하여 커널에 알려줌. 커널 : 하드웨어를 조종해주는.. 윈도우로 따지자면 MS-DOS의 msdos.sys 같은 운영체제 시스템 파일은 커널 command.com 명령어 해석기는 쉘 쉘 종류도 여러 개, 일반적으로 bash쉘 $SHELL 이런 대문자는 환경변수. 시스템 설정을 변화시키는 것이 환경 변수. $ : 변수라는 표시 대문자 : 환경변수 (부팅 시 자동적으로 생성되는, 설정파일에 관련된, 시스템에 관련된.) 쉘 환경 설정 파일들. .bashrc .bash_profile 사용자가 편리하게 작업할 수 있도록 모아놓은 파일. 홈 디렉터리에 있음. alias 긴 명령어에 별명 붙이는 거. alias cp = 'cp - i..

디스크 관리

하드 IDE하드 /dev/hd* hda hdb hdc SCSI 하드 (서버용 하드) /dev/sd* sda sdb sdc 하드 장착 -> 파티션 할당(파티션을 그냥 사용할 수 없고 특정 디렉토리에 마운트 시켜야 함.) -> 파티션 이름은 sda1 sda2 sda3 MBR(Master Boot Record) 첫번째 디스크의 첫번째 트랙의 첫번째 섹터 컴퓨터가 처음 부팅될때 BIOS가 읽기 시작하는 부분 파티션에 대한 정보가 있음. BIOS는 파티션의 정보를 읽고 active 파티션을 찾아 그 파티션의 부트섹터를 읽음. 한개의 디스크는 4개의 Primary 파티션을 가질 수있음 4개 중 한개를 extended로 대체할 수 있는데, 이거는 다시 논리적인 12개로 나눌 수 있음. Primary를 극복하기 위한...

네트워크

파일 수정 후 경로 restart www 웹서버 ftp ftp서버 mail mail서버 공통 네트워크 주소 예 : 192.168.111.0 마지막에만 0 0 ~ 255 중 0은 이 네트워크가 쓰고 255는 넷마스크가 씀 ping www.naver.com -> /etc/host.conf 조회 -> 없으면 /etc/hosts 조회 -> 없으면 /etc/resolv.conf (name서버의 ip주소가 있음.) 이 중 만약 없다면 응답 안함 있다면 ip주소 획득. 네트워크 장치 이름 ens~~~ ~~~ 숫자 OS에 따라 랜카드 지정 시 저거 수정 service network start stop restart status /etc/sysconfig/network 수정 이후는 restart 해 줘야 컴퓨터가 인식 ..

네임서버주소

네임서버주소만 알면 다른건 패턴 똑같음 네임서버란 입력한 주소의 ip주소를 찾아줌 네임서버 파일 위치 /etc/resolv.conf 이거는 네트워크에 직접적인 영향은 없음. URL을 IP주소로 변환해주는 역할 네트워크에 직접적인 영향이 없어서 내가 설정도 가능함. 만약 원하는 서버의 IP를 직접 입력하면 연결할 수 있음. 저 파일 내에 IP주소가 있는데, 이 IP주소의 서버에는 모든 컴퓨터의 URL과 정보가 저장되어 있음. DNS(Domain Name System)서버 라고도 함 hosts 네임서버 이전에 전화번호부 같이 IP를 적어 두던 것 위치 : /etc/hosts 구조 IP 도메인 허나 이거는 해당 도메인의 IP주소가 변경되는 등 하면 내가 직접 수정해줘야 하는 그런 문제가 있음.