32
1 리리리 리리 리리리 리리리리…

리눅스 기초

  • Upload
    chana

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

리눅스 기초. 기초는 튼튼하게 …. 시스템 부팅과정. Power On ROM BIOS 에서 지정된 부팅 드라이브로 부팅 시작 부팅 드라이브의 첫번째 섹터의 부트 섹터 읽어 들임 부팅 섹터의 부팅 프로그램인 부팅 로더 (LILO) 작동 커널 이미지 (/boot/vmlinuz- 버전 ) 적재 루트 파일 시스템 마운트 시스템 초기화 프로그램 (init) 작동 Login: 프롬프트. /sbin/init. - PowerPoint PPT Presentation

Citation preview

Page 1: 리눅스 기초

1

리눅스 기초

기초는 튼튼하게…

Page 2: 리눅스 기초

2

시스템 부팅과정 Power On ROM BIOS 에서 지정된 부팅 드라이브로 부팅

시작 부팅 드라이브의 첫번째 섹터의 부트 섹터 읽어

들임 부팅 섹터의 부팅 프로그램인 부팅 로더 (LILO)

작동 커널 이미지 (/boot/vmlinuz- 버전 ) 적재 루트 파일 시스템 마운트 시스템 초기화 프로그램 (init) 작동 Login: 프롬프트

Page 3: 리눅스 기초

3

/sbin/init /sbin/init 의 동작 : init 프로세스는 로그인

프롬프트가 나오기 전까지 파일 시스템 점검 , 서비스 프로세스 관리 , 가상 콘솔 접속 관리 , 실행 레벨 관리 등 사용자의 리눅스 사용 환경을 위한 초기화 작업들을 실행 관리하게 됩니다 .

새로운 프로세스 생성 프로세스 재 시작 여러 프로그램 실행 스크립트 실행 init 의 모든 동작은 /etc/inittab 파일에 의해

제어된다

Page 4: 리눅스 기초

4

/etc/inittab

id : 3 : initdefault:

si: S : sysinit : /etc/rc.d/rc.sysinit

l0 : 0 : wait : /etc/rc.d/rc 0l1 : 1 : wait : /etc/rc.d/rc 1 • •

ca : : ctrlaltdel : /sbin/shutdown –t3 –rf now

c1 : 12345 : respawn : /sbin/agetty 38400 tty1c2 : 12345 : respawn : /sbin/agetty 38400 tty 2c3 : 45 : respawn : /sbin/agetty 38400 tty 3 • •

=> 기본 실행레벨은 3 이다

=> 시스템이 부팅할 때 init 로 하여금 /etc/rc.d/rc.sysinit 를 실행하도록 지시한다

=>/etc/rc.d/rc 스크립트가 적절한 실행레벨 인수를사용하여 실행된다 .

=> 사용자가 Ctrl-Alt-Del 키를누르면 안전한 시스템 리부팅을시킨다 .

=>agetty 는 가상콘솔로로그인을 허용해주는역할을 한다

※ /etc/inittab 의 구성 => id : run-levels : action : process

Page 5: 리눅스 기초

5

/etc/inittab

ID 의미

si 시스템 초기화 프로세스

l0-l6 7 개의 프로세스가 초기화되는 실행수준

ud 업데이트 프로세스용으로 사용되는데 , ./sbin/update 프로세스를 호출

ca Ct 기 +Alt+Del 키를 눌렀을 때 실행되는 프로세스

pf UPS 가 전원 실패를 나타냈을 때 실행되는 프로세스

pr UPS 가 전원을 복구했을 때 실행되는 프로세스

x X 터미널로 시스템을 변경했을 때 실행되는 프로세스

<id : 실행되어야 할 경우를 표현 >

Page 6: 리눅스 기초

6

/etc/inittab

<action : 실행시키는 방법 >

action 의미

wait 프로세스를 실행하고 모두 끝나기를 기다림

respawn 프로세스를 실행하고 죽게 되면 다시 실행

initdefault 디폴트 실행 수준을 결정

sysinit 프로세스를 시스템 부트시 실행

once 한번만 실행

off, boot, bootwait, powerfail, ctrlaltdel, kbrequest

Page 7: 리눅스 기초

7

rc.sysinit 이 파일은 기본 시스템 초기화를

처리해주는 명령을 담고 있는 간단한 쉘 스크립트이다 . 예를 들어 네트워크 설정 , 호스트 이름 설정 , /proc 마운트 , 시스템 시간 설정 , 시스템 폰트 구동 , 스왑 구동 , 루트 파일 시스템 및 리눅스 파일 시스템 체크 , ISA PNP 카드 설정 , 하드 디스크 최적화 , 사운드 카드 모듈 구동 , Raid 디바이스 구동 등입니다

Page 8: 리눅스 기초

8

/etc/rc.d/rc /etc/rc.d/rc 스크립트는 /etc/rc.d/rcN.d

디렉토리에 있는 여러 가지 스크립트를 실행시킨다 . 주로 서비스 데몬을 실행하거나 중지시키는 일을 하고 있습니다 . 부팅 시 서비스 데몬들이 동작하는 것은 이 스크립트에 의해서 일어납니다

Page 9: 리눅스 기초

9

/etc/rc.d/rc.local /etc/rc.d/rcN.d 디렉토리에 있는 여러

가지 스크립트가 실행되고 가장 마지막에 rc.local 스크립트가 실행된다 . 각 디렉토리에는 rc.local 스크립트를 가리키는 링크 파일이 있으며 이 파일이 가장 마지막에 실행된다

Page 10: 리눅스 기초

10

xinetd(extended init network daemon)

리눅스 시스템이 부팅될 때 적재되는 서비스 데몬들을 관장하는 슈퍼 데몬을 xinetd(extended init network daemon) 이라 합니다

Page 11: 리눅스 기초

11

xinetd(extended init network daemon)

xinetd 슈퍼 데몬을 위한 환경 설정은 /etc/xinetd.conf 파일에서 설정합니다 .

default{

< 속성 > < 연산자 > < 값 > < 값 > …}Service 서비스명{

< 속성 > < 연산자 > < 값 > < 값 > …}

Page 12: 리눅스 기초

12

xinetd(extended init network daemon)

/etc/rc.d/init.d/xinetd start # xinetd 실행 /etc/rc.d/init.d/xinetd restart # xinetd 재실행 kill -SIGUSR1 xinetd’s PID # 변경된 설정으로 다시 데몬 시작

Page 13: 리눅스 기초

13

네트워크 설치 ( 이더넷 카드 인식시키기 )

modprobe 모듈명 # 수동으로 모듈을 띄워주어야 할 때 /etc/rc.d/rc.local # 이 파일에 등록해 놓으면 부팅할 때

자동적으로 커널에 올라감

Page 14: 리눅스 기초

14

네트워크 설치 ( 이더넷 카드 등록 정보 확인 )

dmesg | more # 커널에 등록된 이더넷 카드의 정보를 확인 lsmod # 모듈이 적재되어 있는 상태를 확인 rmmod # 모듈을 지울 때

Page 15: 리눅스 기초

15

네트워크 설치 ( 호스트 이름 넣기 )

리눅스에서 호스트 정보를 가지는 파일은 /etc/hosts 와 /etc/sysconfig/network 입니다

x-window 에서 설정할 때는 netcfg 네트워크 관리 제어판을 이용합니다

Page 16: 리눅스 기초

16

네트워크 설치 ( 인터페이스 설정 ) lo 는 루프 백에 쓰이는 인터페이스이며 , eth 은 이더넷 카드 , ppp

는 PPP 접속에 쓰이는 인터페이스입니다 . ifconfig # 네트워크 상태 체크 ifconfig 인터페이스 IP [ 넷마스크 ] [ 브로드캐스트 주소 ] up/down

# 네트워크 인터페이스 설정 x-window 에서 설정할 때는 netcfg 네트워크 관리 제어판을

이용합니다

Page 17: 리눅스 기초

17

네트워크 설치 ( 라우팅 설정 ) route # 라우팅 테이블을 보여줍니다 . route add/del –net/-host network/host address # 라우팅 정보 추가 및 제거

Page 18: 리눅스 기초

18

네트워크 설치 ( 게이트웨이 설정 ) route add/del default gw IP dev interface # 게이트웨이 설정 및 제거

Page 19: 리눅스 기초

19

네트워크 설치 ( 설정 반영 )

/etc/rc.d/init.d/network restart # 새로운 네트워크 설정 반영

Page 20: 리눅스 기초

20

네트워크 진단 (ping) 네트워크의 어느 특정 호스트에 일정한 패킷을 보내어 응답이 있는지 체크하는 도구입니다 .

ping [-c 횟수 ] [-s 패킷 크기 ] 호스트 주소

Page 21: 리눅스 기초

21

네트워크 진단 (traceroute) 패킷이 목적 호스트까지 전달되는 경로를 조사하여

화면상으로 출력해 주는 명령이다 . traceroute 테스트하고자 하는 호스트 주소 traceroute –i 인터페이스 명 테스트하고자 하는 호스트

주소 # 기본 라우터로 설정된 인터페이스로 경로 추적

Page 22: 리눅스 기초

22

네트워크 진단 (netstat) route 명령보다 좀더 자세한 라우팅 테이블

정보와 네트워크 상태를 체크할 수 있는 도구입니다 .

netstat –nr netstat # 네트워크의 인터넷 접속 상태와 소켓 상태를

보여 줌 netstat –t # 인터넷 네트워크 상태만 보여줌 netstat –i # 네트워크 패킷 전송 상태 체크

Page 23: 리눅스 기초

23

네트워크 진단 (nslookup) nslookup # 네임 서버를 통하여 도메인을

검색하거나 IP 정보를 확인하는 명령입니다

Page 24: 리눅스 기초

24

네트워크 진단 (host)

host # 도메인을 검색할 때 사용하는 명령으로

nslookup과 유사한 역할을 한다

Page 25: 리눅스 기초

25

네트워크 진단 (ARP)

ARP #ARP 는 아이피 주소와 이더넷 고유

주소인 MAC 주소에 대한 정보를 보여줍니다

Page 26: 리눅스 기초

26

사용자 계정 관리하기 사용자 계정과 관련된 파일 /etc/passwd /etc/shadow /etc/group /etc/skel

Page 27: 리눅스 기초

27

사용자 계정 관리하기 passwd 파일 ID : 패스워드 : ID숫자 : 그룹숫자 : 실제이름 : 홈디렉토리 : 쉘 shadow 파일 #/etc/passwd 는 일반 사용자들도 접근하여 파일 내용을 볼 수 있기

때문에 패스워드 필드가 암호화되어 있더라도 안심할 수 없습니다 . pwconv 명령을 통해 /etc/passwd 파일의 패스워드 필드를 ‘ x’ 문자 처리하고 /etc/shadow 파일에 암호화된 패스워드를 저장합니다

Page 28: 리눅스 기초

28

사용자 계정 관리하기 group 파일 그룹이름 : 패스워드 : 그룹숫자 : 멤버들

skel 파일 #계정이 만들어진 후 /etc/skel

디렉토리에 있는 뼈대 파일들이 사용자의 홈디렉토리로 복사된다 . 사용자가 가졌으면 하는 파일들을 이 곳에 두면 된다

Page 29: 리눅스 기초

29

사용자 계정 만들기 useradd –u ID 번호 – g 그룹번호 – d 디렉토리 – c “사용자설명” – m –s /bin/ksh kang passwd kang

Page 30: 리눅스 기초

30

사용자 계정 삭제 userdel –r kang #계정과 사용자의 홈 디렉토리를

지워준다 메일 박스와 crontab 파일 그리고

사용자의 개인적인 파일은 수동으로 지워야 한다

find / -user kang -ls

Page 31: 리눅스 기초

31

파일소유권과 허가권

rwx r-x rw-

(4+2+1)

(4+0+1)

(4+2+0)

※ - rwx r-x r-x 2 kang root 2345 Nov 15 08:54 test.txt

소유자의 권한

그룹의 권한

타인의 권한

유형 파일 크기 날짜 파일 이름하드링크 갯수

파일 허가권 예 chmod u+w test.txt chmod ug-w test.txt 파일 허가권 예 chmod 755 test.txt chmod 644 test.txt 파일 허가권의 숫자 표현 r : 4 w : 2 x : 1

Page 32: 리눅스 기초

32

파일소유권과 허가권

파일 소유권 예 chown kim test.txt chgrp user test.txt 디렉토리도 일종의 파일이다 . 디렉토리를

실행시키면 디렉토리안의 파일들이 보여진다 이렇게 하려면 실행 권한이 필요하다

※ - rwx r-x r-x 2 kang root 2345 Nov 15 08:54 test.txt

파일의 소유자

파일 사용에 대한 어떤 그룹