2015. 4. 26. 01:07

fdisk


fdisk는 파티션을 나눠 주는 프로그램

명령어 형식 ‘fdisk <하고픈 디스크>’

# fdisk /dev/sdb// sdb를 나눔

The number of cylinders for this disk is set to 30401.

.

.

Command (m for help):// 이런식으로 커맨드가 바뀜

--------------------------------------------------------------------

- 2G 파티션 만들기 실습

# fdisk /dev/sdb

Command (m for help): n// 파티션 만들기

Command action

eextended

pprimary partition (1-4)

p// p를 입력(주파티션)

Partiton number (1-4):1// 1번 주파티션을 씀

First cylinder (1-30401, default 1):// 그냥 엔터를 치거나 1을입력한뒤 엔터

Last cylinder or +...K (1-30401, default 30401): +2040M//+2040M(2G)를 입력

Command (m for help): p

.

.

/dev/sdb112502008093+83Linux

Command (m for help):

--------------------------------------------------------------------

- 파티션 id swap으로변경

Command (m for help): p

.

.

Device BootStartEndBlocksIdSystem

/dev/sdb11125100403183Linux

-> 파티션 id가 Linux인것을 확인

Command (m for help): t// 파티션 id 변경

Selected partition 1// 파티션이 하나라면 몇 번째 파티션을 쓰겟냐는 문구가 안나오고 여러개라면 몇 번째 아이디를 선택하라 나옴

Hex code (type L to list codes): 82// 변경할 id를 적어줌 l을 누르면 목록이 나옴 거기서 보고 선택해서 입력하면됨

스왑은 82이므로 82를 입력

Command (m for help): p// p를 눌러보면 swap으로 바뀐 걸 볼수있음

.

.

/dev/sdb11125100403182Linux swap / Solaris

Command (m for help):

--------------------------------------------------------------------

- 파티션 삭제

Command (m for help): d// 파티션 삭제

Partition number (1-4): 1// 삭제할 파티션 번호를 입력. 만약 파티션이 하나밖에 없다면 Selected partition 1메세지가 뜨며 바로삭제

Command (m for help):

--------------------------------------------------------------------

fdisk 옵션으로는

a 부트 가능한 플래그로 변경

b bsd 디스크 레이블을 편집

c 도스 호환 플래그로 변경

d 파티션 삭제

l 알려진 파티션 형태의 목록

m 이 메뉴를 출력

n 새로운 파티션 추가

o 새로운 도스 파티션 테이블을 생성

p 파티션 테이블을 출력

q 변경을 저장하지 않고 종료

s 새로운 Sun 디스크 레이블을 생성

t 파티션의 시스템 id를 변경

u 표시/엔트리 단위를 변경

v 파티션 테이블을 점검

w 디스크에 테이블을 기록하고 빠져나감

● mkfs

Fdisk를 한 후 mkfs를 이용해 포맷을 해야 파티션을 이용할 수 있다

포맷은 mkfs -t <포맷형식> <장치> 이렇게 한다.

보통 리눅스에서 ext3형식을 많이 쓰니 하나 해본다면

# mkfs -t ext3 /dev/sdb1// sdb1을 ext3형식으로 포맷

'OPS > LInux' 카테고리의 다른 글

bind9  (0) 2015.04.26
dhcp  (0) 2015.04.26
init  (0) 2015.04.26
send mail  (0) 2015.04.26
raid  (0) 2015.04.26
Posted by 배주혁
2015. 4. 26. 01:07

init


init은 리눅스 부팅 커널 다음 넘어오는 차례로 로그인 프롬포트 나오기 전까지 시스템 점검, 프로세스 관리 등의 역할을 한다. 모든 프로세서의 조상인 1번 PID를 갖고 있다.

inittab파일의 형식 id:runlevels:action:command

콜론으로 구분

첫째 항목(id)은 식별자로 어떤 단어든 상관없음 단 다른 것과 겹치면 안 되고 최대 4자리 그리고 tty를 지정하는 것은 맨 끝에 tty숫자가 와야 함. 예) dd1:..... tty1

둘째 항목(runlevels)은 그 줄의 명령이 실행될 실행레벨

셋째 항목(action)은 init이 그 항목을 어떻게 처리할지(예를 들어 1번만 실행, 종료될 때마다 다시 실행 등)

넷째 항목(command)는 init이 이 항목에 대해 실행할 명령

action 옵션

-respawn:프로세서 종료 시 항상 다시 시작

-wait:지정된 run-level이 되면 실행하고, init은 이 프로세서가 종료되기를 기다림

-once:지정된 run-level이 되면 한번만 명령어를 실행

-boot:시스템 부팅 때 그 프로세서를 실행 이때 run-level값은 무시

-bootwait:시스템 부팅 때 그 프로세스가 실행 되고, init은 이 프로세스가 종료되기를 기다 림 그리고 runlevel 값이 무시됨

-initdefault:시스템의 기본 run-level을 지정

-sysinit:시스템 부팅시 프로세서 제일 먼저 실행

-powerwait:전원에 문제가 발생시 프로세서 실행, 프로세서 작업 종료되기를 기다림

-powerfail:전원에 문제가 발생시 프로세서 실행, 작업 종료를 기다리지 않음

-ctrlaltdel: ctrl+alt+del키 입력시 실행

-kbrequest:특정한 키를 입력 받을 때 실행

실행레벨은 0:시스템 정지(halt), 1:싱글 유저모드, 2~5:여러 가지 다중 사용자 모드, 6:시스템 재부팅(reboot)

inittab 파일 분석

--------------------------------------------------------------------

id:2:initdefault:

-> 데비안을 실행레벨 2로 시작하고 /etc/rc.2d 에 있는 스크립트 실행

si::sysinit:/etc/init.d/rcS

-> 어떤 실행레벨이든 부팅 때 1회 실행 기본적인 초기화를 수행한다.

~~:S:wait:/sbin/sulogin

-> 싱글 모드로 들어갈시 root 비밀번호를 물어보게 함

l0:0:wait:/etc/init.d/rc 0

l1:1:wait:/etc/init.d/rc 1

l2:2:wait:/etc/init.d/rc 2

l3:3:wait:/etc/init.d/rc 3

l4:4:wait:/etc/init.d/rc 4

l5:5:wait:/etc/init.d/rc 5

l6:6:wait:/etc/init.d/rc 6

-> 각 레벨별 실행 명령 /etc/init.d/rc 스크립트는 실행레벨이 바뀔 때 매다 알맞은 스크립트를 실행

z6:6:respawn:/sbin/sulogin

->

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

-> 컨트럴+알트+del키 입력 시 시스템 재부팅되게 함

pf::powerwait:/etc/init.d/powerfail start

pn::powerfailnow:/etc/init.d/powerfail now

po::powerokwait:/etc/init.d/powerfail stop

-> 무정전 전원공급 장치상태를 모니터링할 수 있는 bpowerd 패키지를 설치 했을 시 사용

1:2345:respawn:/sbin/getty 38400 tty1

2:23:respawn:/sbin/getty 38400 tty2

3:23:respawn:/sbin/getty 38400 tty3

4:23:respawn:/sbin/getty 38400 tty4

5:23:respawn:/sbin/getty 38400 tty5

6:23:respawn:/sbin/getty 38400 tty6

-> 실행레벨별로 getty 프로그램 실행시키고 tty뭘쓸건지

예) 5:23:respawn:/sbin/getty 38400 tty5 // tty5는 2번 3번 레벨만 가능

--------------------------------------------------------------------

파일은

/etc/inittab: init이 해야할 일을 기록한 파일

/etc/init.d/rc: 각 실행 레벨 실행 스크립트

/etc/init.d/rcS: init에서 처음으로 실행하는 스크립트

디렉토리는

/etc/init.d: 부팅시 쓰이는 모든 스크립트들의 집합소 이 경로에는 원본 스크립트가 있고 스크립트를 쓸려면 각 레벨에 링크를 걸어준다.

/etc/rcS.d: rcS 스크립트에 의해 실행되어질 명령 목록이 담긴 디렉토리

/etc/rc0.d: 0번 실행레벨에서 실행되어질 명령 목록이 담긴 디렉토리

/etc/rc1.d: 1번 실행레벨에서 실행되어질 명령 목록이 담긴 디렉토리

.

.

/etc/rc6.d: 6번 실행 레벨에서 실행되어질 명령 목록이 담긴 디렉토리

디렉토리안에 S로 시작하는 것은 start로 스크립트를 시작하고 K로 시작하는 것은 stop으로 스크립트를 중지한다. 그 뒤 숫자는 스크립트 실행 순서를 의미한다. 그러니 S89cron이 있다면 89번째cron 시작 스크립트라는 뜻이다.

실제로 K로시작하는 파일은 rc0과 rc1,rc6에만 존재하고 나머지 실행 레벨에서는 S파일 만이 존재한다. 그리고 이 디렉토리들에 있는 스크립트를 실행 시켜주는 파일은 /etc/init.d/rc이다.

부팅시 스크립트 실행하는 방법

1. init.d 안에있는 파일을 rcn.d로 링크 걸어준다.

지울때는 링크를 지워준다.

2. update-rc.d <스크립트이름> defaults 써준다.

지울때는 update-rc.d -f <스크립트이름> remove

'OPS > LInux' 카테고리의 다른 글

dhcp  (0) 2015.04.26
fdisk  (0) 2015.04.26
send mail  (0) 2015.04.26
raid  (0) 2015.04.26
quota  (0) 2015.04.26
Posted by 배주혁
2015. 4. 26. 01:05

sendmail

-용어

MTA : 사용자로부터 MUA를 통해 전달받은 메시지를 다른 메일서버로 전달 해주는 프로그램(sendmail,exim,qmail)

MUA : 사용자가 메일을 보내기 위하여 사용하는 프로그램(Outlook)

SMTP : 다른 서버로 메일을 보내거나 받을 때 이용하는 프로토콜

POP3 : SMTP에 의해 메일서버에 도착한 메일을 클라이언트가 받을 때 사용하는 프로토콜

MDA : MTA가 수신한 메시지를 사용자의 우편함에 쓰기 위한 프로그램

MRA : 리모트 서버에 있는 우편함으로부터 사용자의 MUA로 메시지를 가져오는 프로그램

a@naver.comb@naver.com에게 보낼때는 로컬임

-----------------------------------

같은 도메인은 MUA-MTA-MDA 순?

다른 도메인은 MUA-MTA-MDA-MTA-MDA-MUA이 순

--------------------------------------------------

sendmail에 사용되는 명령 일부

C:클래스 설정

F:클래스를 적은파일을 설정

D

O:옵션지정

S:룰셋(규칙) 정의

vim /etc/main/sendmail.cf

--------------------------------------------------------------------

Cwlocalhost// Cw뒤에 사용할 도메인을 적음(여러개도 가능)

Fw/etc/mail/local-host-names// 파일을 만들어 도메인을 적음

O ForwardPath=$z/.forward.$w:$z/.forward

-> 사용자(A) 디렉토리에 .forward파일을 만들고 그 파일에 메일주소(B)를 적어놓으면 사용자(A)에게 오는 메일은 모두 파일에 적어놓은 메일주소(B)로 전달됨

Kaccess hash -T<TMPF> /etc/mail/access

-> 특정한 것만 메일릴레이에서 제외시키거나 허용 할 수 있는 파일을 명시

O AliasFile=/etc/mail/aliases// 메일 alias를 지정해놓은 파일 설정

O SevenBitInput=False// 7비트 설정여부, 8비트를 쓸 경우 False로 설정

O EightBitMode=pass8// 7bit를 False로 설정 후 pass8로 설정시 8비트로 작동

O LogLevel=9// 로그레벨 설정, 0-15 level까지 있음

O MaxMessageSize=0// 메일 용량 제한(단위Byte), 주석 시 용량 제한 없음

O QueueDirectory=/var/spool/mqueue// 큐(임시저장)의 경로

O SmtpGreetingMessage=$j Sendmail...// SMTP 접속 시 뜰 문구

O DaemonPortOptions=Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1

-> Relay기능을 수행하는 서버가 로컬만 가능한지 모두 가능한지를 설정하는 부분

Addr=127.0.0.1이 있으면 외부에서 접근이 안 되므로 삭제해줌, 주석시 /etc/access를 참고

O ConnectionRateThrottle=15// 엑세스 가능한 횟수

O ConnectionRateWindowSize=10m// clientIP가 10m동안 위 횟수만큼만 접속 가능

(ConnectionRate* 옵션은 access파일에 쓰이는 옵션)

--------------------------------------------------------------------

# vim /etc/mail/local-host-names

-> local-host-names 파일은 sendmail.cf 파일에 Cw지시문처럼 메일서버에 이용할 도메인을 지정해주는 파일임.

--------------------------------------------------------------------

localhost

localhost

--------------------------------------------------------------------

# vim /etc/mail/aliases

--------------------------------------------------------------------

mailer-daemon: postmaster

news: root// news에게 메일을 보내면 메일은 root에게 감

webmaster: root

noc: root

ja: root, power// ja에게 메일을 보내면 root와 power에게 감

--------------------------------------------------------------------

# newaliases// 새로고침같은 역할

# vim /etc/mail/access

--------------------------------------------------------------------

...

Connect:localhsotRELAY// 릴레이 옵션 설정

GreetPause:localhost0

ClientConn:localhost0// 동시에 세션이 맺어질 수 있는 수 설정

ClientRate:localhost0// 분당 접속 가능한 횟수 설정(시간은 sendmail.cf에서 O ConnectionRateWindowSize=10m 지시로 설정)

...

--------------------------------------------------------------------

# makemap hash /etc/mail/access < /etc/mail/access

-> 일반파일로는 sendmail에서 해석이 불가능 하므로 access파일을 DB형태로 바꿔줌

Connect:localhsot에 쓰이는 옵션 목록

OK : 다른 룰이 거부하는 경우에도 메일의 모든것을 허용함.

RELAY : 지정된 호스트의 메일 중계를 허용함, 지정된 메일의 수신/발신을 허용

REJECT : 지정된 호스트의 메일 수신/발신을 거부함, 발신자에게 거부 통보를 함

DISCARD : 메일을 수신 후 폐기해버림, 발신자에게 폐기통보를 하지 않음

501 <error> : 지정된 메일 주소나 도메인에 대해 발신자의 주소가 전체 또는 부분적 으 로 일치할 경우 메일 거부 <error>에는 포함할 메시지 적음

502 <error> : 발신메일주소에 host가 없을 경우 메일을 받지 않음

550 <error> : 특정 도메인에 관련된 메일을 거부 <error>부분에는 포함할 메시지 적음

571 <error> : 특정 도메인 또는 메일 주소에 대해 경고 메시지를 보내고 메일을 거부 <error>에는 포함할 메시지 적음

-실습

# apt-get install sendmail

# apt-get install dovecot-common

# apt-get install dovecot-pop3d

# vim /etc/mail/sendmail.mc

--------------------------------------------------------------------

...

DAEMON_OPTIONS('............ Addr=127.0.0.1')// Addr=127.0.0.1을 지워줌

DAEMON_OPTIONS('............ Addr=127.0.0.1')// 한행 더 지워줌

--------------------------------------------------------------------

# m4 /etc/mail/sendmail.mc

# vim /etc/sendmail/access

--------------------------------------------------------------------

...

Connect:192.168.0RELAY// 192.168.0으로 시작 하는 모든 IP를 허용

--------------------------------------------------------------------

# makemap hash /etc/mail/access < /etc/mail/access

# vim /etc/mail/local-host-names

--------------------------------------------------------------------

skill.com// 사용하고자 하는 메일의 도메인을 적어줌

--------------------------------------------------------------------

# vim /etc/dovecot/dovecot.conf

--------------------------------------------------------------------

protocols = pop3

listen = *

disable_plaintext_auth = no

mail_location = mbox:~/mail:INBOX=/var/mail/%u

--------------------------------------------------------------------

# /etc/init.d/sendmail restart

# /etc/init.d/dovecot restart

'OPS > LInux' 카테고리의 다른 글

fdisk  (0) 2015.04.26
init  (0) 2015.04.26
raid  (0) 2015.04.26
quota  (0) 2015.04.26
LVM  (0) 2015.04.26
Posted by 배주혁
이전버튼 1 2 3 4 5 6 7 8 이전버튼