- /etc/hosts를 먼저 확인 후 없다면 네임서버에 질의                           (이것이 우분투 리눅스다 475페이지)

- 그림 하나로 ns작동원리 파악.

'Linux' 카테고리의 다른 글

[Linux] 마스터 네임서버 구축  (0) 2018.07.09
[Linux] 캐싱 전용 네임서버 구축  (0) 2018.07.09
[Linux] SSH 서버, VNC 서버 구축  (0) 2018.07.08
[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03

OpenSSH 서버


- 텔넷과 용도는 동일하지만, 보안이 강화

- 텔넷과 거의 동일하지만 데이터를 전송할 때 암호화를 한다는 점이 다름.


실습) SSH 서버 구축



1. apt-get -y install openssh-server OpenSSH 설치


2. SSH 서비스 가동


- systemctl restart ssh

- systemctl status ssh

- systemctl enable ssh ( SSH 상시가동 )



3. 방화벽 설정 (22번 포트 열어줌)


- ufw allow 22/tcp


4. 리눅스 클라이언트에서 접속.



5. 윈도우 클라이언트에서 접속



VNC 서버

- X 윈도우 환경으로 원격접속을 사용하고 싶을 때

- 원격지로 그래픽 화면을 전송하는 원리이므로, 속도가 많이 느림.


실습) VNC 서버 구축



1. 패키지 4개 설치


- apt-get -y install gnome-panel gnome-settings-daemon metacity vnc4server

- reboot


2. VNC 서버 가동


- vncserver

- password는 6글자이상



3. xstartup 파일 수정


- vi .vnc/xstartup



4. VNC 서비스 재가동

- vncserver -kill :1

- vncserver :1


5. 방화벽 포트 열기


- ufw allow 5901/tcp


6. 클라이언트에서 뷰어다운로드


리눅스 : - sudo apt-get -y install xtightvncviewer

윈도우 : - www.tigervnc.com에서 다운로드


7. 리눅스 클라이언트 접속



8. 윈도우 클라이언트 접속



* 3가지 원격접속 비교




'Linux' 카테고리의 다른 글

[Linux] 캐싱 전용 네임서버 구축  (0) 2018.07.09
[Linux] 네임서버 작동원리  (0) 2018.07.09
[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] LVM  (0) 2018.07.03

텔넷 서버 개요


- 오랫동안 전통적으로 사용되어 온 원격 접속 방법

- 보안에 취약

- 리눅스 서버에 텔넷 서버를 설치하고 나면, 원격지에서 접속할 PC에는 텔넷 클라이언트가 필요.

- 원격지의 PC에서 접속하게 되면 서버 앞에 앉아서 직적 텍스트 모드로 작업하는 것과 완전히 동일한 효과.


실습) 텔넷 서버 구축



1. apt-get install xinetd telnetd ->텔넷 설치


2. /etc/xinetd.d/telnet 파일을 편집한다.



3. 사용자 생성 (teluser)


- adduser teluser


4. 텔넷 서비스 가동


- systemctl restart xinetd

- systemctl status xinetd



5. 포트 설정 후 서버에서 telnet 테스트


- ufw allow 23/tcp (telnet은 23번 포트 이용)



6. 윈도우 클라이언트에서 접속해보기. (Putty 이용)



'Linux' 카테고리의 다른 글

[Linux] 네임서버 작동원리  (0) 2018.07.09
[Linux] SSH 서버, VNC 서버 구축  (0) 2018.07.08
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] LVM  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28

쿼터 (Quota)


- 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것


실습 진행 순서



1. 하드디스크 추가하기.


- 10GB의 사용자 하드디스크를 추가.


2. /dev/sdb의 파티션을 생성 및 포맷을 한 후 'userHome' 디렉토리에 마운트


- # fdisk /dev/sdb1

- Command : n

- Select : P (Linux)

- Partition Number(1-4) : 1

- First Sector : Enter

- Last Sector : Enter

- Command : p

- Command : w

- #mkfs.ext4 /dev/sdb1

- # mkdir /userHome

- # mount /dev/sdb1/ userHome


재부팅 후 인식되도록 /etc/fstab에 등록

/dev/sdb1 /userHome /ext4 default 0 0


3. 임의의 사용자를 생성


- john과 ban 생성

- adduser --home /userHome/john john

- adduser --home /userHOme/ban ban



4. /etc/fstab 을 편집한다.



- 기존에 입력되어있던 /dev/sdb1    /userHome ext4 default 0 0에 defaults 뒤에 다음 문구를 추가해준다.

- .usrjquota=aquota.user,jqfmt=vfsv0 을 추가한다. (추가한 디스크는 쿼터용을 될 수 있음을 의미)


5. 재부팅한 효과를 내기 위해 mount --option remount/userHome을 입력해 다시 마운트 한다.


6. 쿼터 DB 생성 (사용자 용량 제한)



- quota 명령어

cd .userHome - 쿼터용 파일 시스템이 마운트된 디렉터리로 이동한다.
quotaoff -avug - 일단 쿼터를 끈다
quotacheck -qugmn - 파일 시스템의 쿼터 관련 체크를 한다
rm -rf aquota. - 생성된 쿼터 관련 파일을 삭제한다
quotacheck -augmn - 다시 파일 시스템의 쿼터 관련 체크를 한다
touch aquota.user aquota.group - 쿼터 관련 파일을 생성한다
chmod 600 aquota.
 - 보안을 위해 소유자(root)외에는 접근하지 못하게 한다.
quotacheck -augmn - 마지막으로 파일 시스템의 쿼터 관련 체크를 한다.
quotan -avug - 설정된 커터를 시작한다.

7. 사용자별 공간 할당


- john 사용자가 사용할 수 있는 공간을 10MB 할당한다.

- edquota -u john 을 입력하면 사용자 별 할당량 편집 가능



- 10MB는 넘을 수 있지만 15MB는 넘기지 못한다. (soft hard 의미, 0은 제한이 없음)


8. john 으로 로그인해서 테스트.



- soft 크기까진 디스크 할당이 가능하지만 hard (15MB) 넘어 갔을 시에 파일이 짤려버림

- quota 명령어로 확인


9. 그 외 명령어


- edquota -p john ban ( john에 적용한 쿼터 값을 그대로 ban에게 적용)

- requota /userHome (userHome 디렉토리에 적용되어있는 쿼터값을 확인)

'Linux' 카테고리의 다른 글

[Linux] SSH 서버, VNC 서버 구축  (0) 2018.07.08
[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] LVM  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28

LVM ( Logical Volume Manage)


- 여러 개의 하드디스크를 합쳐서 한 개의 파일시스템으로 사용하는 것


용어


- Physical Volume

- Volume Group

- Logical Volume



실습 흐름도




1. fdisk 한다.



- LVM 은 type 이 8e 이다. ( L눌러서 type 확인 가능)


2. Physical volume create 후 Volume group create를 한다. 

- 먼저 패키지 설치를 해야함 apt-get -y install lvm2

- pvcreate 먼저 하고 vgcreate를 한다.



3. Logical Volume create을 한다.



- 5G 짜리 myVG를 각각 1,3,1G 로 나눈다.

- lvcreate --extents 100%FREE --name myLG3 myVG 를 써서 마지막에 남은 모든용량을 처리한다.


4. 포맷한다.


- mkfs.ext4 /dev/myVG/myLG1

- mkfs.ext4 /dev/myVG/myLG2

- mkfs.ext4 /dev/myVG/myLG3


5. 폴더 생성 후 각각 마운트 한다.




7. /etc/fstab에 등록한다.


'Linux' 카테고리의 다른 글

[Linux] 텔넷 서버 구축  (0) 2018.07.06
[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28
[Linux] 모듈과 커널 컴파일  (0) 2018.06.27



RAID

- RAID(Redundant Array of  Indepensive Disks) 여러개의 디스크를 하나의 디스크처럼 사용함

- 비용절감 + 신뢰성 항샹 + 성능 향상


RAID 방식의 비교


RAID 방식에 대한 이미지 검색결과


실습 ) RAID 0, 1, 5 구축해보기


1. 9개의 하드디스크를 추가한다. (sdb ~sdj 까지)



2. fdisk를 이용해 파티션한다.



- 포맷시 파티션 type 옵션에 t를 주고 type에 raid 설정을 위해 fd로 타입을 변경한다. (b~j까지 동일하게 진행)



fdisk 완료 (b~j까지)


실습) Linear RAID 구축



- apt-get install mdadm 

- mdadm --create /dev/md9 --level=linear --raid-device=2 /dev/sdb1 /dev/sdc1

(md9이라는 mdadm을 만들고 레벨은 linaer다. 장치는 2개고 그 2개는 sdb1과 sdc1 이다.)

- 그 후로 포맷 과정은 동일, 마지막에 /etc/fstab 수정함으로써 부팅후에도 유지시킴.

- 확인 명령어 : mdadm --detail /dev/md9

- 똑같이 raid 0,1,5 실습

- 완료 후 update-initrams -u 명령어 실행 (적용)


결과 )



'Linux' 카테고리의 다른 글

[Linux] 사용자별 공간 할당 쿼터  (0) 2018.07.03
[Linux] LVM  (0) 2018.07.03
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28
[Linux] 모듈과 커널 컴파일  (0) 2018.06.27
[Linux] GRUB 부트로더  (0) 2018.06.27

실습 ) 하드디스크 1개 추가해보기.



=> 폴더를 만들어서 sdb1 장치를  mount해서 사용해야 함. ( 그 폴더를 들어가면 장치를 이용하는 것과 같은 효과)



1. 물리적인 하드디스크를 Edit virtual machine을 통해 장착함.


2. fdisk를 사용하여 파티션 분할을 시작한다.



-  ls /dev/sd* : 내가 삽입한 장치를 검색한다

- fdisk /dev/sdb : 파티션 분할 시작

- Command n : new 파티션 생성

- Select P : primary 기본 파티션으로 간다.

- Partion number 1 : 첫번째 파티션으로 지정 하고 first sector와 last sector는 default 값으로 지정하였다.

- 마지막으로 Command w(write)를 입력하면 현재까지 파티션한게 적용 된다.


3. 포맷한다. (파일 시스템 생성)


- mkfs.ext4 /dev/sdb1




4. mount 와 umount를 실습해본다.



- mkdir /mydata : mydata 디렉토리를 만든다.

- touch test1 : test1 파일을 생성.

- mount /dev/sdb1 /mydata : mydata 폴더에 삽입한 장치를 마운트 시킨다.

- 그다음 test1 파일이 안보이는걸 확인

- touch test2 : mount시킨 상태에서 test2 파일을 생성해본다.

- umount /mydata : umount 시킨후 파일 목록을 확인 하면 test2가 아닌 test1파일이 들어있음을 알 수있다.

(test1 파일은 swap공간 영역에 test2는 마운트된 mydata안에 존재)


5. 설정이 완료되었다면 재부팅시 마운트가 풀리므로 마운트가 풀리지 않도록 /etc/fstab을 편집한다.




'Linux' 카테고리의 다른 글

[Linux] LVM  (0) 2018.07.03
[Linux] RAID  (0) 2018.06.28
[Linux] 모듈과 커널 컴파일  (0) 2018.06.27
[Linux] GRUB 부트로더  (0) 2018.06.27
[Linux] 파이프,필터,리디렉션, 응급복구  (0) 2018.06.27

모듈이란 ? 


필요할 때마다 호출하여 사용되는 코드



리눅스 모듈에 대한 이미지 검색결과



-> 부팅시 필요한 내용만 커널에 담아 둔다. (커널이 커지는 것을 방지하며 커널을 가볍게 유지할 수 있음)


커널 컴파일





자세한 컴파일 하는 과정 : https://hychome.blogspot.com/2015/09/blog-post_21.html


커널 컴파일을 통해 컴퓨터를 부팅 시 원하는 커널을 가지고 그때그때 마다 부팅이 가능하다.


'Linux' 카테고리의 다른 글

[Linux] RAID  (0) 2018.06.28
[Linux] SATA와 SCSI, 하드디스크 추가해보기  (0) 2018.06.28
[Linux] GRUB 부트로더  (0) 2018.06.27
[Linux] 파이프,필터,리디렉션, 응급복구  (0) 2018.06.27
[Linux] cron과 at  (0) 2018.06.27

GRUB 부트로더

부트 정보를 사용자가 임의로 변경해 부팅할 수가 있다. 즉, 부트정보가 올바르지 않더라도 수정하여 부팅할 수 있음.

다른 여러가지 운영채ㅔ제와 멀티 부팅 가능

대화형 설정을 제공해줘서, 커널의 경로와 파일 이름만 알면 부팅이 가능하다.


GRUB2의 장점

셸 스크립트 지원

동적 모듈 로드

ISO 이미지를 이용해서 바로 부팅가능


GRUB2 설정 방법

/boot/grub/grub.cfg 설정파일 (직접 X)

/etc/default/grub 파일과 /etc/grub.d/디렉터리 파일을 수정한 후에 grub-mkconfig 명령어를 실행


실습 1) GRUB 부트로더 변경 해보기.


1. vi/etc/default/grub 으로 vi를 실행 후 Timeout과 Distributor 변경을 해 보았음. (20초, This is linux)



실행 결과 Grub 



실습 2) GRUB 관리자 생성 ( 무분별한 사용자의 GRUB 부트로더 접근을 막기 위하여)


1. vi /etc/grub.d/00_header 접속 후 맨 밑에 입력 코드 추가.



2. 계정 생성후 부팅 시에 로그인 화면이 출력되며 비밀번호 틀렸을 시 접속이 불가능함.



파이프


두 개의 프로그램을 연결해 주는 연결 통로

" | " 사용

ex) ls -l /etc | less


필터


필요한 것만 걸러주는 명령어

grep, tail, wc, sort, awk, sed 등

주로 파이프와 같이 사용

ex) ps -ef | grep bash


리디렉션


표준 입출력의 방향을 바꿔 줌

ex) ls -l -> list.txt


응급복구


root 비밀번호 분실 시 복구 방법.


1. Vm 부팅시 ESC를 눌러 GRUB 편집에 들어간다 Ubuntu에 올려놓은채로 알파벳 e (edit)을 누른다.



2. 커서를 밑으로 내려서 linux 부분에 커서를 놓고 end 키를 눌러서 보이는 부분에 코드를 추가한다. 



3. Ctrl + X를 눌러서 부팅한다. -> root로 로그인됨


4. passwd 를 이용해 패스워드를 바꿔보려 하지만 

mount 명령어로 확인해 본 결과 /(root) 파티션이 읽기전용으로 되어있기 때문에 비밀번호를 변경할 수 없다.

-> 마운트 변경 : mount -o remount rw /


5. 비밀번호 변경이 이루어지는 걸 확인 후 Restart를 통해 로그인 하면 된다.

'Linux' 카테고리의 다른 글

[Linux] 모듈과 커널 컴파일  (0) 2018.06.27
[Linux] GRUB 부트로더  (0) 2018.06.27
[Linux] cron과 at  (0) 2018.06.27
[Linux] apt-get 작동원리와 패키지저장소  (0) 2018.06.26
[Linux] 파일 소유권과 허가권  (0) 2018.06.26

+ Recent posts