<4D F736F F D20B8AEB4AABDBA20C5ACB7AFBDBAC5CD20B1E2BCFA20B9E9BCAD2E646F63>

Size: px
Start display at page:

Download "<4D F736F F D20B8AEB4AABDBA20C5ACB7AFBDBAC5CD20B1E2BCFA20B9E9BCAD2E646F63>"

Transcription

1 리눅스클러스터기술백서 클루닉스 / 1/401 페이지

2 차례 Chapter 1. 철학이있는리눅스운영체제구성 - Page 003 Chapter 2. 리눅스기반인터넷서비스구성 - Page 058 Chapter 3. 부하분산 (Load Balancing) 클러스터구성 - page 112 Chapter 4. 고가용성 (High Availability) 클러스터구성 - page 206 Chapter 5. 고성능 (High Performance Computer) 클러스터구성 - Page 256 2/401 페이지

3 To install Linux with philosophy ( 철학이있는리눅스운영체제구성 ) 클루닉스기술부 1 차세미나자료 3/401 페이지

4 철학이있는리눅스설치 주요내용 ====================================================================== 1. 리눅스설치 1 설치전고려사항 i. 파티션정책 ii. SCSI Adapter Driver Patch 2 리눅스설치 i. 파티션정책 ii. iii. 패키지정책 설치완료후기본확인작업 3 설치완료후부가작업 i. 주요서비스파티션구성확인및파일시스템 ii. 시스템구성확인 2. 패키지업데이트 1 S/W 패키지업데이트 2 H/W 패키지업데이트 3. OS 관련기본보안정책및보안패키지설치 1 OS 관련기본보안정책 i. 데몬관리정책 ii. iii. iv. 기본시스템계정정책 시스템퍼미션정책 일반사용자관리정책 v. TCP 보안정책 2 보안패키지설치 i. Fcheck 설치후관리하기 4/401 페이지

5 4. OS 설치후중요데이터백업정책 백업정책설정시고려할점 백업의방식 2 차및 3 차백업에대해 i. FTP 를이용한 2 차백업 ii. RSYNC 를이용한 2 차백업 복구의방식 백업및복구시주의점 실전백업예제 5. 문제발생시응급복구방법 긴급부팅시키기부팅디스켓만들기파일시스템점검수리 RPM 패키지상태초기화하기 ====================================================================== 5/401 페이지

6 1. 리눅스설치 1 설치전고려사항 i. 파티션정책 자동파티션설치를선택하면기본적으로 /boot, /, swap 3개의파티션으로자동활당되어진다. 하지만정식서비스를위해서는가지고있는하드디스크를계산하여성능및보안등을고려하여현서비스에가장적절한정책을세워야한다. 리눅스의대표파티션들은모두보안적인측면이나성능적인측면에서의미를부여하고있다. 리눅스의대표적인파티션을살펴보면다음과같다. /boot / /etc /home /usr /usr/local /tmp /var swap 각대표적인모든파티션을다나누어설치를하게되면가장안정적일수있지만제한된하드디스크로모든파티션을나누게되면각파티션에서사용할수있는용량이고정되어버리기때문에실제서비스도중특정파티션에용량이초과할경우추가하드디스크를사용해야하는경우가발생하기쉽다. 뿐만아니라많은파티션을나누어놓게되면성능면에서는 Disk i/o 를분산시킬수있어바람직할수있지만관리측면을고려해본다면필요에의한적절한파티션분배가이루어져야할것이다. 각파티션별로그의미에대해알아보자. /boot : 6/401 페이지

7 /boot 파티션은리눅스부팅에관련된파일이나이미지들이모여있는파티션이다. 만일 /boot 파티션을나누어놓은경우는크게세가지의미가있다. 첫째는안정성이다. 실제 /boot 파티션을나누지않고그냥 / 에포함시킬경우시스템이과도한사용이나해킹등의이유로 / 파티션이망가질경우실제 / 포함된 /boot 디렉토리의 booting image 들역시깨어질위험성이크다. /boot 가나누어져있을경우 / 가망가지더라도새로운 / 파티션을만들고 /boot 에있는부팅이미지를가지고어느정도까지는복구가가능하다. 둘째는기능성 (?) 이라볼수있다. 실제 /boot 에들어있는 kernal image 가즉리눅스 OS 라볼수도있다. 만일당신이개발자나리눅스전문엔지니어라서여러개의배포판을설치할경우각배포판마다 /, swap 등의파티션을별도로나누어서설치해야하는어리석음을갖지말길바란다. 실제배포버전별로 /boot 파티션을나누어준다고하면각각의다른리눅스배포판을설치하고도실제 /etc /usr/local 등에있는설정이나패키지를통합해서관리할수가있다. 셋째는리눅스 OS의부트로더의기능적인제한때문에 /boot 를나누는경우가많다. 리눅스의대표적인부트로더로 Lilo 가있는데이는실제 1024 실린더밖에설치될경우치명적인에러가발생한다. 그래서대부분이하드디스크의 MBR 영역에설치를하게되는데만일 MBR 에다른부트로더를설치하고 Lilo 는리눅스파티션의첫번째파티션에설치를한다고할때 /boot 파티션을첫번째파티션으로만들어이곳에 Lilo를설치할수있다. / : 루트파티션은실제리눅스파티션의최상위파티션으로실제 / 파티션과 Swap 파티션만으로도리눅스를설치하여서비스를할수도있다. 하지만이렇게설치를하게되면앞에서언급하였고뒤에서설명하는바와같이부적절한상황을초래하기쉽다. 일단커널이미지에서실제 / 파티션을찾아서 / 파티션을최상위로해서하위의파티션들을찾기때문에 / 파티션이없으면리눅스를부팅시킬수없게된다. 아래에서설명하는바와같이여러개의파티션을나눌경우실제별도의파티션을나누지않는상위디렉토리들이모두이 / 파티션안에포함되게될것이다. /etc : /etc 는리눅스시스템의모든설정파일이모여있는디렉토리이다. 만일 /etc 7/401 페이지

8 를 / 파티션에포함한경우변수에의해 / 파티션이깨어진경우별도의백업이없으면관리자로써상당히난처한상황에빠지게딘다. 즉아무리데이터를백업을하고있다하더라도설정파일이없으면서비스를구동할수없게된다. 그렇기때문에 /etc 를별도의파티션으로나누는것도고려해야할것이다. 하지만 /etc 의용량은매우작기때문에백업만적절히한다고하면굳이나눌필요는없다. 파티션이너무많이나누어지면관리측면에서부적절할수도있다. /usr : /usr 는실제레드헷리눅스의 RPM 패키지가설치되는파티션이다. 이파티션을나누는이유는크게성능과패키지관리측면에서볼수있다. 일단레드헷리눅스의모든프로그램이이곳에설치가된다고볼수있다. 즉서비스구동시에프로그램성능에가장큰영향을주는파티션인만큼다른 Disk i/o 과많은다른파티션과동일파티션으로구성하면성능에많은지장을주게된다. 관리측면으로보면최근배포판버전으로업그레이드를하고자할때 /usr 파티션이나누어져있을경우설치시 /usr 파티션만새로포맷하고새패키지를설치하면실제 redhat 7.3 에서 redhat 9 로업그레이드를한다고해서서버의모든자료를백업하고새로 OS 설치후복구하는수고를들수있다. /usr/local : /usr/local 는응용프로그램을 Source 로설치할경우파일이위치하는디렉토리이다. 기본적으로배포판의패키지는기본적이서버구성에해당하는패키지만설치하고나머지는모두 Source 설치하는걸권장한다. 리눅스배포판의패키지를무분별하게설치할경우에는보안 / 관리측면에서상당히부적절할수있다. 그러므로최소설치후필요한프로그램을 Source 로설치하는것을권장하는바이다. 즉 Source 로설치하는프로그램을관리하는파티션이다. /usr 과같은의미를가진다. 성능과패키지관리측면이다. 만일 /, /usr 등의문제로인해다시설치할경우 /usr/local 파티션이 /, /usr 에속해있으면재설치할때마다.. 일일이 Source 설치도다시해야한다. 하지만 /usr/local 이별도로나누어져있으면 OS를다시깔아도실제서비스프로그램을다시깔필요는없게된다. /var : 8/401 페이지

9 /var 는시스템 log 파일이저장되는곳이다. /var 파티션을분리하는이유는실제 log 를기록하면그만큼많은 Disk i/o 병목이시스템에발생하게된다. 실제서비스가이루어지는 / 혹은 /usr 와사용자데이터가저장되는 /home 등과같은파티션이존재하게되면 /var 에일어나는병목으로인해시스템의성능이저하되게될것이다. 이를방지하기위해 /var 파티션을별도로활당하던지네트워크드라이브를이용하여원격디스크를활용하는방법을사용한다. ( log 서버와같이..) /var 는로그및메일큐등이쌓이는곳이기때문에해커들이고의적으로시스템에나쁜코드를심어놓거나 mail 서버의 spam를무수히보냄으로해서 /var의디스크용량이무지커지는경우가발생한다. 이때 /var의파티션이나누어있지않는경우실제 / 파티션의 disk 용량이가득차게되고, 이로인해 / 파티션의중요한파일들이손상을입게된다. 이런일들을방지하기위해서도 /var 파티션을나누는것을권장한다. 이밖에해커들이 / 파티션을공격하여시스템을깨어버린다하더라도실제 /var 파티션이나누어져있으면이런해커의작업등이시스템로그에남게됨으로시스템은망가졌지만이후 /var 의로그를이용하여시스템에무슨문제가있었는지를확인할수도있다. /tmp : /tmp 는실제시스템서비스가가동될때임시파일이나세션파일들이생기는곳이다. 보통 nobody 권한의파일들이생김으로해서보안이약한곳이라볼수있는데해커들이주고이 /tmp 를통해원격지에서시스템을공격하는경우가많다. 그러므로해서해커의공격을받더라도 /tmp 디렉토리만영향을받게하기위해파티션을분리하는것을권장한다. swap : 은물리적인메모리가부족한경우하드디스크를메모리처럼사용할수있게하는데이용되는파티션이다. 보통시스템의물리적인메모리의 1.5배에서 2배로잡는것이정석이다. 시스템의주요사용용도중에매우큰용량의파일을다루는작업일경우보통 swap 을크게잡아야한다. 대표적으로 Oracle 의경우보통 DB file 하나가작게는 500M 에서크게는 2Gbyte 정도하는실제 DB 엔진에서메모리에이큰파일을올려놓고작업을하게되는데실제물리적메모리가 1.5 G 일경우 swap 이없는경우에는작업을할수없게되거나페이징이일어나성능이급속 9/401 페이지

10 도록떨어지게된다. 이를방지하기위해서서비스에이용되는메모리수치를예상하여 swap 을잡으면된다. swap 은상황에따라서여러가지방법으로추가할수있기때문에초기에는권장방법대로 1.5배에서 2배정도로잡으면된다. ii. SCSI Adapter Driver Patch 최신 Ultra320 SCSI Controllor 의경우기본레드헷지원드라이버를사용하면 i/o error 를발생하는경우가있다. 대표적인제품으로 Adatec 의 AIC 제품의경우그러함. 설치시에그냥설치하면 SCSI 장치인식중에멈처버리는증세가발생함. boot : linux apic 와같은방식으로부팅하면장치는인식하지만레드헷기본커널에있는드라이버로서비스가동시에조금과도한 Disk Access 작업을할경우 kernel panic 상태가된다. 이에설치전에각장치공급사의홈페이지에서최신드라이버를다운받아서설치시에최신드라이버를인식하도록해주어야한다. 에서최신드라이버를다운받을수있음 먼저각하드웨어공급사의최신드라이브를다운받은후설치시적용할수있는이미지디스켓을만든다. ==================================================================== ====== # fdformat /dev/fd0 # dd if=aic79xx i686-rh90.img of=/dev/fd0 bs=1024 ==================================================================== ====== 그런후설치 CD 로부팅후 boot prompt 가뜨면 < linux dd > 란 command 로설치시추가드라이브를적용시킨다. 10/401 페이지

11 ==================================================================== ====== boot : linux dd ==================================================================== ====== 그럼설치 CD 의커널이미지로부팅을진행하면서하드디스크혹은기타장치를인식하기전에추가드라이브디스켓을삽입하라는메세지가뜬다. 이때위에서만든드라이브디스켓을삽입한다. 그러면설치 CD 에있는장치드라이브를이용하는것이아니라다운받은최신드라이브로장치를인식하여설치를하게된다. 2 레드헷리눅스서버설치 서버용으로설치를할경우앞에서설명한바와같이이서버가서비스할서비스내역을충분히이해한후반드시필요한패키지만을설치하는것을권장한다. 사용하지않는패키지를설치할경우사용하지않는패키지의보안적문제가생겼을때관리자는이를신경쓰지않게되고, 이패키지를통한해킹의위험을가지게된다. 기본적은설치과정에대한설명은생략하고파티션과패키지구성에대한정책만을설명하겠다. 이는저의개인적인견해를설명한것이니이가완변한설치정책이라말하지는않겠다. i. 파티션정책 실제서비스를대상으로하는서버를설치할경우에는전기본적으로아래와같이파티션을나눈다. /boot / /usr /usr/local 11/401 페이지

12 /var /tmp /home swap /boot : 100M ~ 200M / : 1G /usr : 3G /usr/local : 2G /var : 2G ~ 3G /tmp : 500M /home : 필요한만큼 swap : 물리적인메모리의 2배 여기서 /boot /tmp 는그용량이작기때문에적절한백업을할경우에는관리상의이유로 / 에포함하는경우도많다. /usr/local 역시관리상의이유로 /usr 에포함하는경우도많다. 대신이와같이포함하는경우에는반드시포함시키는파티션의크기에신경을써야한다. /var 파티션의경우로그의중요성이낮거나메일서비스등을하지않는경우에는관리상의이유로하여 / 에포함하는경우도많다. 하지만메일서버등을중점으로하는서비스에서는반드시 /var 의파티션을나누어주고용량도충분히주길바란다. /home /usr/local 의파티션을별도로나눌경우성능을고려한다면설치시파티션을지정하지말고기본 OS 설치후 fdisk 를통해수동으로파티션을나눈후레드헷기본파일시스템인 ext3 대신 reiserfs 혹은 xfs 파일시스템을사용하는것을권장한다. ext3 에비해 reiserfs 나 xfs 파일시스템이안정성에서우수함을인증받은상태이고성능에서도 30% 정도의성능향상을가져올수있다. ( hdperm 으로디스크성능을체크해보면 ext3 의경우초당 40M 정도의 read buffer 의성능을나타내지만 reiserfs 의경우초당 55M 의성능을발휘한다. ) /home 이나 /usr/local 파티션의성격상디스크사용량이많거나실제사용하는프로그램이설치되는곳인만큼시스템의 Disk I/O 성능의영향을많이받는곳이기에보다안정스럽고좋은성능의파일시스템을사용하는게좋다. 12/401 페이지

13 swap 역시 oracle 과같은큰파일을다루는서버라고하면 1G 용량으로여러개의 swap 파티션을잡아두는것을권장한다. ( 그냥큰용량으로 swap을잡지않고적절한용량으로나누어여러개를잡는이유는 swap 파티션의크기역시일반 IA32 시스템에서는 2G 제한이있고 2G의스왑파티션보다는 1G의스왑파티션 2개가 I/O 분산으로인해성능이좋기때문이다. OS 의설치는초보엔지니어나경력엔지니어나다기본으로하기마련이다. 하지만시스템엔지니어의시작이 OS 설치라고하면마지막역시 OS 설치라고말할수있는만큼자신만의설치방법을세워두길바란다. ii. 패키지정책 실제 OS 구동에필요한기본프로그램 ( 부팅관련프로그램, 라이브러리 ) 은배포판에있는패키지를선택하지만서비스에필요한프로그램은대도록이면 Source 로직접설치하는것을권장한다. 이는패키지관리및보안성격상에도큰의미를가지고있지만시스템성능에미치는영향도크다 실제배포판은대표적인아키텍처에해당하는시스템에서해당프로그램을 build 하여패키지를만들어놓은것이다. 유사한아키텍처를가진시스템에서사용하는데는지장이없지만그래도자기시스템에최적화된프로그램을사용하기위해서는실제 Source 로해당시스템에서직접설치하는것이좋다. ( 이와같은패키지관리를한다고하면앞에서설명한바와같이 /usr/local 파티션을별도로나누어관리하는것이시스템문제발생하여재설치시오랜시간이소요되는 Source rebuiling 작업을생략할수있게된다. ) 레드헷리눅스에서의패키지선택은기본적으로패키지선택단계에서 / 편집기 / DNS 서버 / 네트워크서버 / 개발도구 / 커널개발 / 시스템도구 정도를기본설치하고기타서비스관련프로그램및기타관리도구는필요한프로그램만을수동으로설치하면된다. iii. 설치완료후기본확인작업 13/401 페이지

14 기본적으로설치가완료된후부팅이정상적으로되는지와부팅시에러내용이있는지, 파티션이정책대로적용이되었는지등을확인합니다. # dmesg -> 부팅메세지확인 # df -h -> 파티션별용량확인 부팅시 bootloader 에서문제가발생하는경우가많다. 특히 SCSI 하드와 IDE 하드를같이장착하고설치한경우 LILO 혹은 GRUB 등의 bootloader 에서정상적으로커널이미지를 Loading 하지못하는경우가생긴다. 기본적인해결방법을설명하겠다. // LILO Bootloader 로부팅시문제발생했을때해결방법 ==================================================================== ================= 리눅스설치CD로부팅해서 rescue 모드로들어갔다. df 쳐보니 /dev/hda2 가 /mnt/sysimage 에 mount 되어있다. 하드디스크에있는 lilo.conf 는 /mnt/sysimage/etc/lilo.conf 에잘있다. 이제이파일을잘고쳐서 lilo 를실행하면된다. rescue 모드에서도 vi는실행된다. # vi /mnt/sysimage/etc/lilo.conf /mnt/sysimage/etc/lilo.conf 를수정후 /etc 에복사한다 # cp /mnt/sysimage/etc/lilo.conf /etc 여기까지만하고 lilo 를실행시키면에러가난다. /etc/lilo.conf 에서 /boot 라고되어있는곳을 /mnt/sysimage/boot 로바꾸고저장한다. 이제 lilo 를실행시킨다. # /mnt/sysimage/sbin/lilo 14/401 페이지

15 /boot/chain.b 를못찾는다는메시지가나타나면, # cp /mnt/sysimage/boot/chain.b /boot/ 한다음에 #/mnt/sysimage/sbin/lilo 혹은 # chroot /mnt/sysimage # /sbin/lilo 하면된다. ==================================================================== =========== // GRUB Bootloader 로부팅시문제발생했을때해결방법 ==================================================================== =========== 긴급시 grub 으로부팅을시키는과정입니다. grub > 먼저 root 지정을해줍니다. grub > root (hd0,0) -> 실제 /boot 파티션의위치를지정한다. 만일별도의 /boot 파티션이없는경우에는 / 위치를지정합니다. grub > kernel /vmlinuz smp ro root=/dev/sda2 -> 실제 / 파티션위치를적어줍니다. grub > initrd /initrd smp.img 15/401 페이지

16 -> SCSI 하드인경우 initrd 이미지가없으면하드인식을못함. grub > boot 하면부팅됩니다. 그런후 /etc/grub.conf 를수정하거나쉽게 LILO 를수정하여다시적용하고실행하면된다. 참고로 LILO 로 SCSI 와 IDE 를병행할때 sda 가첫번째디스크가아니라는에러가발생하는경우가있다. 이는 LILO라는부트로더는실제 BIOS 의장치에관련된정보를참조하지않기때문에발생하는문제이다. 디스크에관련해서이런문제가발생하면.. lilo.conf 에다음내용을추가해주면된다. disk=/dev/sda bios=0x80 disk=/dev/hda bios=0x81 위의설정내용은 SCSI 가첫번째하드라는것을 LILO 에서인식하도록해주는것이다. 이렇게해야부팅시정상적으로 LILO 가띄워질것이다. 3 설치완료후부가작업 i. 주요서비스파티션구성확인및파일시스템설정 앞의파티션정책에서설명했듯이주요서비스파티션중데이터관련파티션인 /home 과서비스프로그램관련파티션인 /usr/local 을구성해야하고이두개의파티션을안정성및효율이높은 reiserfs 혹은 xfs 로파일시스템을설정하는하도록한다. 16/401 페이지

17 # fdisk /dev/sda -> /usr/local : 3G -> /home : 나머지전부활당 # mkfs.reiserfs /dev/sda8 -> /dev/sda? 에는해당파티션의디바이스명을적어준다. # mkfs.reiserfs /dev/sda9 # vi /etc/fstab ==================================================================== ============= LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode= none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 LABEL=/tmp /tmp ext3 defaults 1 2 LABEL=/usr /usr ext3 defaults 1 2 LABEL=/var /var ext3 defaults 1 2 /dev/sda6 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 # 아래를추가해줌 /dev/sda8 /usr/local reiserfs defaults 1 2 /dev/sda9 /home reiserfs defaults 1 2 ==================================================================== ============= # tar czvf local.tgz /usr/local -> /usr/local 의디렉토리구조를백업해둠 # cp local.tgz / # mount -a # cd / # tar xzvf local.tgz 실제파티션과파일시스템구성이정상적으로되었는지를확인한다. # df -h 17/401 페이지

18 ==================================================================== ============= Filesystem Size Used Avail Use% Mounted on /dev/sda2 981M 121M 811M 13% / /dev/sda1 198M 15M 173M 8% /boot none 1009M M 0% /dev/shm /dev/sda7 487M 8.1M 454M 2% /tmp /dev/sda5 2.9G 898M 1.9G 33% /usr /dev/sda3 2.9G 58M 2.7G 3% /var /dev/sda8 2.9G 33M 2.8G 2% /usr/local /dev/sda9 22G 33M 22G 1% /home ==================================================================== ============= ii. 시스템구성확인 마지막으로현재시스템의 H/W, S/W 구성정보를확인및기록해두도록합니다. 이는현재시스템장치가재대로인식을하는지확인과동시에이후유지관리를위한시스템정보를기록하는의미를가지고있습니다. 이는시스템의정보를확인하는방법으로이후관리시에큰도움이될것입니다. - booting message 확인 # dmesg - CPU 정보 # cat /proc/cpuinfo - 메모리정보 # cat /proc/meminfo - SCSI 정보 HDD 정보 # cat /proc/scsi/scsi - SCSI controllor 정보 # cat /proc/scsi/aic7xxx/0 - IDE 하드정보 18/401 페이지

19 # cat /proc/ide/hda/model # cat /proc/ide/hda/setting - 네트워크정보 # ifconfig # route -n - 파티션정보 # fdisk l /dev/sda - 디스크용량 # df h 이로써대략적인설치과정이완료되었습니다. 다음장에서는설치이후설치된패키지의최신패키지업데이트및기타하드웨어의최신드라이브업데이트에대한설명을하겠습니다. 2. 패키지업데이트 1 S/W Package Update 리눅스시스템은 Open 된 OS 인만큼보안에대한취약점이있다고생각할수있지만이와달리 Open 된시스템인만큼보안의취약점을미리사전에파악하여패치함으로관리자의관심만유지되면보안에더강력하다고말할수있다. 레드헷리눅스의경우 up2date 란프로그램을통해윈도우처럼자동으로패키지를업데이트할수있는데기본적으로배포판에설치되는 up2date 로업그레이드를하면 SSL 인증에러가발생하게될것이다. 이는현재배포버전인 Redhat9 이발표된이후레드헷사의 up2date 인증방식에변경이있었기때문에정상적인 up2date를이용하여전체적인패키지업데이트를하기위해서는먼저 up2date 를업그레이드해야한다. # wget ftp://updates.redhat.com/9/en/os/i386/up2date* 위의구문으로바로 up2date 에관련된패키지를다운받을수있을것이다. up2date / up2date-gnome 두개의패키지를다운받게될것인데이중 up2date-gnome 19/401 페이지

20 은 Xwindows 의 gnome 이설치된경우에만설치하도록한다. # rpm -Uvh up2date # /etc/rc.d/init.d/rhnsd restart # rhn_register 최초 rhn_register 를실행하면 rhn_register 구성편집화면이나오는데그냥 q 를치면빠저나온다. # rpm --import /usr/share/rhn/rpm-gpg-key # rhn_register # gpg --import /usr/share/rhn/rpm-gpg-key 레드헷사에현시스템의정보및간단한인증정보를기록합니다. 정식레드헷배포판을구매하면 up2date 의지원을계속받을수있지만공개배포판의경우에는 3개월기간제한이있기때문에설치시에한번지원받는다는의미를가진다. # up2date -p -> 현시스템이 RPM 패키지정보를정리한다. # up2date -u -d -> 업데이트를시킬패키지를다운받는다. up2date 에서 -d 옵션을사용하면업데이트대상패키지를다운받아 /var/spool/up2date 안데저장된다. -u 옵션만사용하면다운받아서업데이트패키지를바로설치하고설치가완료된 rpm 을삭제하게됩니다. 만일업데이트대상시스템이여러대일경우계속같은방법으로업데이트시킬필요없이한곳에서다운받아놓고그패키지를이용하여다른시스템들의업그레이드를시키는방법이편할것이다. 단위경우는시스템의패키지구성이유사한경우에의미가있다. 2 H/W Driver Update dmesg message 를살펴보면커널이로딩한장치의드라이브버전을확인할수있다. 흔히문제가되는것이 SCSI Controllor 와 Intel Gigabit Card 가대표적이다. 먼저현재시스템에설치시인식된장치를확인합니다. 20/401 페이지

21 # cat /etc/modules.conf ==================================================================== =========== alias eth0 e1000 alias eth1 e100 alias scsi_hostadapter aic7xxx alias usb-controller usb-uhci ==================================================================== =========== # dmesg grep Driver # dmesg grep DRIVER # dmesg grep driver scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev Intel(R) PRO/1000 Network Driver - version k1 Intel(R) PRO/100 Network Driver - version k2 대표적인버전은 AIC79XX -> 이상 e1000 -> 이상 e100 -> 이상 의버전을설치하도록한다. rpm 으로만들어진드라이브버전은현시스템커널버전에의존함으로드라이버설치후 kernal upgrade를할경우에는반드시다시장치드라이브버전을확인하셔야합니다. 3. OS 관련기본보안정책및보안패키지설치 1 OS 관련기본보안정책 i. 데몬관리정책 21/401 페이지

22 * 불필요한데몬제거 /sbin/chkconfig --del anacron /sbin/chkconfig --del atd /sbin/chkconfig --del autofs /sbin/chkconfig --del echo /sbin/chkconfig --del finger /sbin/chkconfig --del gpm /sbin/chkconfig --del nfs /sbin/chkconfig --del nfslock /sbin/chkconfig --del portmap /sbin/chkconfig --del rlogin /sbin/chkconfig --del rsh /sbin/chkconfig --del rsync /sbin/chkconfig --del lpd /sbin/chkconfig --del xfs * 기본데몬 /sbin/chkconfig --add crond /sbin/chkconfig --add network /sbin/chkconfig --add sshd /sbin/chkconfig --add syslog * 서비스데몬 /sbin/chkconfig --add named /sbin/chkconfig --add proftpd /sbin/chkconfig --add sendmail /sbin/chkconfig --add nfs /sbin/chkconfig --add portmap /sbin/chkconfig --add rlogin /sbin/chkconfig --add rsh /sbin/chkconfig --add rsync * 불필요한 xinetd 데몬제거 22/401 페이지

23 # rm -f chargen # rm -f chargen-udp # rm -f daytime # rm -f daytime-udp # rm -f echo # rm -f echo-udp # rm -f finger # rm -f ntalk # rm -f rexec # rm -f rlogin # rm -f rsh # rm -f rsync # rm -f servers # rm -f services # rm -f sgi_fam # rm -f talk # rm -f telnet # rm -f time # rm -f time-udp # rm -f proftpd-inetd ii. 기본시스템계정정책 * 불필요한시스템계정삭제 # userdel adm # userdel lp # userdel sync # userdel shutdown # userdel halt # userdel news # userdel uucp # userdel operator # userdel games # userdel gopher * 불필요한시스템그룹삭제 23/401 페이지

24 # groupdel adm # groupdel lp # groupdel news # groupdel uucp # groupdel games # groupdel dip iii. 시스템퍼미션정책 * suid sgid 퍼미션의명령어검색후퍼미션변경 # find / -type f \( -perm o -perm \) chmod 700 /usr/bin/chage chmod 700 /usr/bin/gpasswd chmod 700 /usr/bin/wall chmod 700 /usr/bin/chfn chmod 700 /usr/bin/chsh chmod 700 /usr/bin/newgrp chmod 700 /usr/bin/write chmod 700 /usr/bin/passwd chmod 700 /usr/bin/at chmod 700 /usr/bin/lockfile chmod 700 /usr/bin/rcp chmod 700 /usr/bin/rlogin chmod 700 /usr/bin/rsh chmod 700 /usr/bin/slocate chmod 700 /usr/bin/crontab chmod 700 /usr/libexec/openssh/ssh-keysign chmod 700 /usr/sbin/ping6 chmod 700 /usr/sbin/traceroute6 chmod 700 /usr/sbin/usernetctl chmod 700 /usr/sbin/userhelper chmod 700 /usr/sbin/lockdev chmod 700 /usr/sbin/userisdnctl chmod 700 /usr/sbin/sendmail.sendmail chmod 700 /usr/sbin/traceroute 24/401 페이지

25 chmod 700 /usr/sbin/utempter chmod 700 /bin/ping chmod 700 /bin/mount chmod 700 /bin/umount chmod 700 /bin/su chmod 700 /sbin/pam_timestamp_check chmod 700 /sbin/pwdb_chkpwd chmod 700 /sbin/unix_chkpwd chmod 700 /sbin/netreport chmod 4750 /usr/bin/rcp chmod 4750 /usr/bin/rsh chmod 4750 /usr/bin/rlogin chmod 4111 /usr/bin/sudo chmod 2750 /usr/sbin/sendmail.sendmail chmod 4750 /bin/su * 중요시스템설정파일보호정책 chattr +i /etc/fstab * 관리자그룹에포함된계정에게시스템관리명령어사용허용정책 chmod 750 /bin/ps chmod 750 /bin/netstat chmod 750 /bin/dmesg chmod 750 /bin/df chmod 750 /usr/bin/w chmod 750 /usr/bin/who chmod 750 /usr/bin/last chmod 750 /usr/bin/top chmod 750 /usr/sbin/lsof chgrp wheel /bin/ps chgrp wheel /bin/netstat chgrp wheel /bin/dmesg chgrp wheel /bin/df chgrp wheel /usr/bin/w 25/401 페이지

26 chgrp wheel /usr/bin/who chgrp wheel /usr/bin/last chgrp wheel /usr/bin/top chgrp wheel /usr/sbin/lsof chgrp wheel /usr/bin/rcp chgrp wheel /usr/bin/rsh chgrp wheel /usr/bin/rlogin # vi /etc/group ==================================================================.. wheel:x:10:root,clunix,alang. ================================================================== * 시스템최상위디렉토리퍼미션정책 chmod 711 / chmod 711 /home chmod 711 /var chmod 711 /var/log chmod 711 /etc chmod 700 /root iv. 일반사용자관리정책 * 일반 shell 사용자작업내용감시하기 /etc/profile 파일의제일밑부분에아래내용추가 =================================================================== if [ $LOGNAME!= "admin" ] then HISTFILE=/var/log/user_history 26/401 페이지

27 TMOUT=200 echo -n " =================================================================== userhistory 로그인 ID: $LOGNAME 접속시간 : `/bin/date` =================================================================== " >> /var/log/user_history fi =================================================================== /root/.bashrc 파일밑부분에다음라인추가 HISTFILE=/root/.bash_history TMOUT=-1 마지막으로 /var/log/user_history 파일의퍼미션을 662 으로해줍니다. v. TCP 보안정책 * TCP Wrapper 로 TCP 서비스접근권한정책 # vi /etc/hosts.deny sshd : ALL : twist ( /root/bin/hostchk Y Y %a %c %d %h %n %p %s %u ) & in.proftpd : ALL : twist ( /root/bin/hostchk Y Y %a %c %d %h %n %p %s %u ) & # vi /etc/hosts.allow sshd : localhost /401 페이지

28 in.proftpd : localhost # vi /root/bin/hostchk #!/bin/sh ################################ 변수정의부문 # 메일수신자 mailto=alang@clunix.com # 화면출력여부, 메일전송여부 dsp=$1; msg=$2 # 접속자정보등 a=$3; c=$4; d=$5; h=$6; n=$7; p=$8; s=$9; u=$10 # 현재시간 time=`date` # 접속시도자소속서버의 finger 정보 finger=`/usr/bin/finger 2> /dev/null` ################################ 화면출력부문 if [ $dsp = Y ] then /bin/echo -n " =================================== 접속이허용되지않습니다. =================================== Access Time Client host address : $a : $time 28/401 페이지

29 " fi Client information : $c Client host name(or IP) : $h Client host name : $n Client user name : $u ################################ 메일송신부문 if [ $msg = Y ] then /bin/echo -n " =============================== 접속거부자상세정보 =============================== " \ Access Time : $time Access client host address : $a Access client information : $c The daemon process name : $d Access client host name(or IP) : $h Access client host name : $n The daemon process id : $p Server information : $s Access client user name : $u Access client finger information $finger /bin/mail -s "tcp_wrapper report [$d]" $mailto fi 29/401 페이지

30 * Syn Flooding DOS 공격방지정책 # vi /root/bin/synfl sysctl -w net.ipv4.tcp_max_syn_backlog=1024 sysctl -w net.ipv4.tcp_syncookies=1 sysctl -w net.ipv4.icmp_destunreach_rate=1 sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 sysctl -w net.ipv4.icmp_echoreply_rate=1 sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1 sysctl -w net.ipv4.icmp_paramprob_rate=1 sysctl -w net.ipv4.icmp_timeexceed_rate=1 sysctl -w net.ipv4.igmp_max_memberships=1 sysctl -w net.ipv4.ip_default_ttl=64 sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv4.ipfrag_time=15 sysctl -w net.ipv4.tcp_syn_retries=3 sysctl -w net.ipv4.tcp_retries1=3 sysctl -w net.ipv4.tcp_retries2=7 sysctl -w net.ipv4.conf.eth0.rp_filter=2 sysctl -w net.ipv4.conf.lo.rp_filter=2 susctl -w net.ipv4.conf.default.rp_filter=2 sysctl -w net.ipv4.conf.default.rp_filter=2 sysctl -w net.ipv4.conf.all.rp_filter=2 sysctl -w net.ipv4.conf.eth0.accept_redirects=0 sysctl -w net.ipv4.conf.lo.accept_redirects=0 sysctl -w net.ipv4.conf.default.accept_redirects=0 sysctl -w net.ipv4.conf.all.accept_redirects=0 sysctl -w net.ipv4.conf.eth0.accept_source_route=0 sysctl -w net.ipv4.conf.lo.accept_source_route=0 sysctl -w net.ipv4.conf.default.accept_source_route=0 sysctl -w net.ipv4.conf.all.accept_source_route=0 sysctl -w net.ipv4.conf.eth0.bootp_relay=0 sysctl -w net.ipv4.conf.lo.bootp_relay=0 sysctl -w net.ipv4.conf.default.bootp_relay=0 sysctl -w net.ipv4.conf.all.bootp_relay=0 30/401 페이지

31 sysctl -w net.ipv4.conf.eth0.log_martians=1 sysctl -w net.ipv4.conf.lo.log_martians=1 sysctl -w net.ipv4.conf.default.log_martians=1 sysctl -w net.ipv4.conf.all.log_martians=1 sysctl -w net.ipv4.conf.eth0.secure_redirects=0 sysctl -w net.ipv4.conf.lo.secure_redirects=0 sysctl -w net.ipv4.conf.default.secure_redirects=0 sysctl -w net.ipv4.conf.all.secure_redirects=0 sysctl -w net.ipv4.tcp_keepalive_time=30 sysctl -w net.ipv4.tcp_fin_timeout=30 sysctl -w net.ipv4.tcp_tw_buckets= sysctl -w net.ipv4.tcp_tw_buckets= sysctl -w net.ipv4.tcp_keepalive_probes=2 sysctl -w net.ipv4.tcp_max_ka_probes=100 * 시스템시작시자동실행코드추가 # vi /etc/rc.d/rc.local rdate -s time.bora.net /root/bin/synfl * 최종적으로 Open port scan 확인 기본적인 OS 설정및보안설정이완료되면최종적으로현재서비스가이루어지는 TCP/IP Port 에대해시스템초기상태에서알아두어야한다. 이후이때파악되지않는서비스포트가열려있을경우보안에의심을해보아야할것이다. Port Scan 도구로는가장많이사용하는것이 nmap,nc,netstat,lsof 등이다. 사용법은다음과같다. 31/401 페이지

32 nmap,nc,netstat 등을이용해서시스템의열린포트를점검한다. # nmap localhost -p # nc -w 3 -v -z localhost # netstat -ant grep LISTEN 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 53/tcp open domain 80/tcp open http 3306/tcp open mysql 2 보안패키지설치 i. fcheck 설치및관리 ** 파일무결성체크프로그램 (Fcheck 설치..) 지금까지의시스템설치후기본보안에신경을써야할부분에대해서알아보았고마지막으로현재기본보안처리된시스템의무결성에대해앞으로감시해서유지해야할것이다. 무결성체크프로그램으로는대표적인게 Tripwire 가있다. 하지만여기서소개하는 Fcheck 는가볍고간단하면서 Tripwire 의역활을충분히할수있다. 먼저프로그램을다운받도록하자. 가면최신프로그램이있을것이다. 다운을받고 /usr/local 및에둔다. 압축을풀고..fcheck,fcheck.cfg 파일의설정값을몇개수정하자. # tar xzvf FCheck_ tar.gz 32/401 페이지

33 # cd fcheck # vi fcheck ############################################################### ############## # # # User modifiable variable definitions: # # # ############################################################### ############## # This should be passed through the command line, but hard coding still works $config="/usr/local/fcheck/fcheck.cfg"; 이부분을시스템환경에맞게수정 # vi fcheck.cfg Directory = /etc/ Directory = /bin/ Directory = /usr/bin/ Directory = /sbin/ Directory = /usr/sbin/ Directory = /usr/local/bin/ Directory = /usr/local/sbin/ Directory = /lib/ Directory = /usr/lib/ Directory = /usr/local/lib/ # # Directory 설정은 fcheck 가체크할파일들이들어있는디렉토리로시스템에 # 중요한명령어나설정파일등이있는곳을정해주면된다. # Exclusion Exclusion = /etc/passwd = /etc/shadow 33/401 페이지

34 # # Exclusion 설정은 Directory 설정에서정한디렉토리중자주변경이되는파일 # 이있어서체크때마다걸리므로체크생략을요하는파일을정해주면된다. # 호스팅업체나기타자주사용자를추가하는서버라면위와같이해주면된다. # DataBase = /usr/local/fcheck/data/data.dbf # # DataBase 설정은리눅스파일정보를 DB 파일로저장해서다음체크시비교 # 분석할때사용되어진다. # TimeZone = GMT-9 # # 한국시간을적용한다. GMT-9 # #File = /usr/local/admtools/logs/sol.dbf File 설정은필요없으니주석처리해준다. 기타여러설정값이있으나크게작동하는데영향을주지않는다. 기본값을적용한다. 이와같이적용후 /usr/local/fcheck/data 디렉토리를만들어준다. # mkdir /usr/local/fcheck/data # /usr/local/fcheck/fcheck -ac 이와같이 fcheck -ac 로파일무결성체크를시작한다. 그럼 data 디렉토리안에 data.dbf 파일이생성되어진다. 이제 Directory 설정에해당하는디렉토리안에다가파일을하나생성하고재대로점검을하는지테스트를하여보자.. 34/401 페이지

35 # touch /etc/test # /usr/local/fcheck/fcheck -a 그럼아마아래와같은결과를출력할것이다. PROGRESS: validating integrity of /etc/ STATUS: ADDITION: [zzang911.net] /etc/test Inode Permissons Size Created On rw-r--r-- 0 Sep 19 20: 자이제이명령어를이용하여주기적으로시스템파일무결성을체크하고관리자에게통보하는프로그램을만들어보도록하자. # vi fcheck.sh #!/bin/sh CHECK=`/usr/local/fcheck/fcheck -a grep Inode` HOSTNAME=`hostname` if [ -n "$CHECK" ] then /usr/local/fcheck/fcheck -a > fcheck_result mail -s "$HOSTNAME File 무결성체크결과 " admin@clunix.com < fcheck_result rm -f fcheck_result fi 간단한이정도스크립터로보다효율적인관리가가능해질것이다. 이제 cron 에등록시켜놓고.. 매일파일무결성체크를간단히메일로받아서관리할수있게된다. 만일변화된파일이정당한변화라면.. # /usr/local/fcheck/fcheck -ac 35/401 페이지

36 로 DBfile 를업데이트시켜줘야한다. 아님.. 계속메일이날아오게된다. 이로써시스템설치후점검해야할보안설정에대해서마치겠다. 시스템보안은초기의보안설정이아주큰부분을차지하고있다. 하지만.. 지속적은감시와관리역시초기보안상태를유지하는가장중요한작업이라고도할수있다. 4. OS 설치후중요데이터백업정책 이른바 정보보호 의마인드가확산되면서해킹이나크래킹에대비한정보보호의측면으로많은논의가되고정보가공유되고있지만정작매우중요한백업에대한구체적방식및주의점에대해서는많은정보가공유되고있지않는실정이다. 실무적으로시스템을담당하는이들은사전에백업의중요성을인식하지못하다가중요한데이터를훼손당하거나긴급하게데이터를복구하여야할필요성이있을경우에서야비로소백업의중요성을인식하여소잃고외양간고치는격으로백업을실시하거나, 설사백업을하더라도사전지식이나올바른정책없이실시하여매우비효율적인방법으로백업을하는경우가많이있다. 따라서이섹션에서는일반적으로폭넓게사용하고있는리눅스를중심으로보안이라는화두와결코따로갈수없는백업의방식과백업시주의점에대해알아보도록하겠다. 1 백업정책설정시고려할점. 백업을실시할경우어떤방법으로어떤매체를이용해어떤주기로할것인지이른바 백업정책 을설정하여야하는데. 이때고려하여야할점에대해알아보기로하자. (1) 호환성 - 자신이운영하는시스템에서백업의대상이되는데이터가각기다른운영체제와다른시스템과호환이될필요가있다면백업후데이터의호환성이나이식성을고려하여야한다. (2) 자동백업 - 사실백업이라는절차가만일의사고에대비하여꼭필요한절차이기는하지만손이많이가는작업이기는하다. 특히백업을하여야할대상이여러시스템이거 36/401 페이지

37 나하나의시스템내에서도일괄백업이아닌일부의데이터에대해서만백업을할필요가있다면일련의백업작업의자동화는필수라고할수있을것이다. (3) 비용 - 데이터의유실이나사고발생시에는백업의소중함을더없이인식하지만평소에는백업이마치사치라고생각하는사람이있을수도있다. 따라서가급적이면적은비용으로백업을할수있다면좋을것이다. (4) 작업의편리성 - 요즘에는편리하게백업정책을설정하고복잡한설정도쉽게할수있으며백업상황등을 GUI 환경으로볼수있는백업유틸리티나상용솔루션들이많이나와있다. 그러나이러한 X-Windows 기반의프로그램의경우일반데스크탑에서는유용하나보안을중요시하는서버시스템의경우 X-Windows 자체를사용하지않는경우가있으므로이부분은신중하게검토할필요가있다. (5) 네트워크백업 - 이부분은자동백업과함께가장중요한부분중의하나라고판단된다. 일반적으로백업은백업매체의자체백업 ( 또는 1차백업이라한다.) 뿐만아니라일정주기로 2차,3차백업을하게되는데, 이러한 2차,3차백업이자동으로되려면네트워크를통한백업이가능하여야한다. (6) 저장매체의선택 - 백업의매체에따라저장방식이다른경우가있으므로신중히선택되어야한다. 고전적인방식의테이프나추가의하드디스크, 다시쓸수있는 CD등다양한매체가있을수있다. 위의여러가지사항및자신이관리하는시스템의특성을고려하여저장매체를선택하여야할것이다. 권장할만한방식. 위의여러가지상황을고려하여이식성이높고여러옵션이지원되며백업파일을이용해복구시에서도강력한기능을제공하는 tar를이용하여, 하드디스크에저장하는방식을권장한다. tar는 "Tape ARchiver" 에서나온말에서도알수있듯이초기에주로테이프백업을위해자주쓰였던유틸리티인데, 이는리눅스를포함한변종의유닉스계열에서도모두사용이가능하고 Shell Script 등을이용하면복잡해보이는백업정책도쉽고단순하게세울수있으며백업후복구가필요한시점에서도강력한기능을발휘할수있다. 그리고, 예전에는주로테이프백업을선호하였지만요즘에는고속의고용량, 저가의하드드라이브가보편화되면서테이프보다는하드드라이브를추가장착하여백업매체로써널리이용하는추세이다. 37/401 페이지

38 2 백업의방식 그럼, 이제구체적으로어떻게백업할것인지백업의방식에대해이야기해보도록하자. 먼저, 어떤데이터를어떤주기로백업할것인가를선택하여야할것이다. 모든데이터를매일백업하는것은비효율적이므로꼭백업이필요한데이터만적당한주기로백업하는것이불필요한백업으로인한디스크공간을절약할수있고백업작업으로이한필요이상의프로세스를줄일수있다. 백업을할대상은, 다른서버에서복사 ( 이식 ) 가가능한바이너리나기본설정화일들은굳이백업할필요가없으며각시스템마다고유한시스템설정 (Configuration) 과실제데이터는반드시백업하여야할것이다. 일반적으로리눅스의경우대부분의설정은 /etc 디렉토리에있으며, 각종데이터는 /home 이하에, 그리고기타부가적으로설치하는프로그램은 /usr/local 에있으니자신의시스템고유의설정을고려하여각각의디렉토리이하에대해적절히백업을하면된다. 이를테면메일서버의경우추가적으로 /var/spool/mail 이하의데이터가매우중요하므로백업시추가하여야할것이다. 백업디렉토리설정시주의할점은 backup 이되는파일을다시백업하여무한루프에빠지는실수를주의하여야하고실시간으로시스템내프로세스에대한정보가저장되는 /proc 역시백업을하는실수를범하지말아야한다. 그럼. 예제를통해실제로백업을하는명령어를알아보도록하자. cd /backup tar cvpfz /backup/home.tar.gz /home --exclude=/home/test [ 스크립트 1 ] 위의명령에서사용한옵션에대해하나씩알아보도록하자. 먼저백업파일은 /backup 이라는디렉토리에서생성하기를원하므로 /backup 으로이동한후 tar 명령을이용해백업을시작한다. c" 는 Create a new archive 의뜻으로백업시새로운파일을생성하며 38/401 페이지

39 v" 는 Verbosely list files processed 의뜻으로백업시백업이진행되고있는상황및디렉토리리스트를보여주며 f" 는 archive file is local 의뜻이며명령어이후의이름이생성될파일의이름이라는뜻이며 p" 는 Preserve-Permissions 의뜻으로이전데이터의 Permission 정보를그대로보존한다는뜻이며 "z" 는 filter the archive through gzip의뜻으로 gzip 으로압축한다는뜻이다. 일반적으로 tar로백업시사용되는확장자규칙은압축되지않고단순히하나의파일로패킹 (packing) 한파일의경우에는 tar" 를, gzip 으로압축된파일의경우에는 tar.gz" 나 tgz" 를확장자로한다. 따라서확장자가 home.tar.gz 나 home.tgz 일경우 tar 로packing ( 즉단순히하나의파일로묶기만함 ) 된후 gzip 으로압축되었음을뜻한다. [ 스크립트 1] 과같이실행되었을경우에는 /backup 디렉토리에 /home/test 이하를제외한 /home 이하의모든파일들이 home.tar.gz 라는이름으로생성된다. 제외할디렉토리나파일이더있을경우에는 -- exclude 옵션을계속이어서쓰면된다. 그리고백업시 ``z'' ( 압축 ) 옵션의사용에유의하여야한다. 단순히하나의파일로압축백업시에는때에따라데이터의일부가손상되는경우가있는데, 이때에는백업된파일전체가깨어져복구를할수없게되는경우가있다. 백업시압축을하지않고단순히 tar 로 Packing한 ( 묶은 ) 경우에는설사파일이깨어지거나손상되었다하더라도파일의복구가가능하기때문에백업시압축을할것인지여부를신중히선택하여야한다. 아울러현재까지최신안정커널인 Kernel 2.2 리눅스의경우, 하나의파일은최대 2G 가최대사이즈인데, 특정파티션이하에많은파일이있어하나의파일로백업하였는데, 2G를넘을경우에는적당히분산하여백업을하여야한다. 이때에는아래와같은방법이가능할것이다. tar cvfpz home_a_h.tar.gz /home/[a-h]* tar cvfpz home_i_p.tar.gz /home/[i-p]* tar cvfpz home_q_z.tar.gz /home/[q-z]* /home 이하의디렉토리에많은하부디렉토리및파일이있을때에는전체디렉토리를백업할경우 2기가를초과하여백업파일이제대로생성되지않으므로, 이를 /home 이하의디렉토리명이나피일이름의이니셜로구분하여 3등분하면서백업을하는것이다. 39/401 페이지

40 그럼, 실제로백업을하는스크립트를분석해보자. #!/bin/sh... (1) cd /backup... (2) rm -f *.tar.gz... (3) tar cvfpz apache.tar.gz /usr/local/apache/*... (4) tar cvfpz home.tar.gz /home/* --exclude=/home/test... (5) tar cvfpz etc.tar.gz /etc/*... (6) tar cvfpz mail.tar.gz /var/spool/mail/*... (7), chown backup.backup *.tar.gz... (8) chmod 700 *.tar.gz... (9) ls -alh mail -s www50_backup (10) df -sh mail -s www50_df (11) [ 스크립트 2 ] (1) 번은시작되는내용이 Shell Script 임을정의한다. (2) 백업작업이이루어지는파티션인 /backup 으로이동한다. (3) 새롭게백업을하여아하므로기존의백업된파일을모두삭제한다. (4) - (7) 번까지는백업을해야할디렉토리이하에대해데이터를각각백업한다. (8) 백업된파일의소유권을 backup 으로설정한다. (9) 백업된파일의권한을 700 으로설정한다. (10) 백업이제대로되었는지확인하기위해현재의디렉토리내백업파일의리스트등의정보를백업담당자인 backup@clunix.com 에게메일로발송한다. (11) 혹파티션이가득찰수도있으니현재의파티션사용정보를백업담당자에게메일로발송한다. 별도의설명이필요하지않을정도로간단한스크립트이다. Shell 스크립트는실행되어야할명령어를순서대로나열하기만하면된다. 위예에서는 Full Backup을보여주고있는데, 필요에따라적절히 증가분백업 도이용하기바란다. 증가분 ( 변경분 ) 백업은풀백업을받은후기존의백업데이터와비교하여이미백업된이후변경되거나추가된부분만백업하는방식이다. 40/401 페이지

41 예를들어설명해보도록하자. 아래의예는백업을단순화하기위해 /home 에대해서만백업하는예를들겠다. 백업정책은일주일을단위로풀백업을받고이후매일증가분백업을하기로한다. #!/bin/sh...(1) TODAY=`date +"%d %b %Y"`... (2) PREVIOUSDAY=`cat FULL_BACKED_DAY`... (3) tar cvfpzg _modified_home.tgz -N "$PREVIOUSDAY" /home...(4) [ 스크립트 3 ] 먼저위의스크립트를실행하기에앞서 [ 스크립트 2] 를참고하여일주일을단위로 ( 정기적으로백업을하는방법은이후에설명할 CRON을이용하면된다.) /home 에대해 Full Backup을실행하기로한다.( 이때백업스크립트제일하단에 echo `date +"%d %b %Y"` > FULL_BACKED_DAY 를추가한다 ) 이후매일위의 [ 스크립트3] 스트립트를실행하면풀백업이후추가및변경된파일과디렉토리만선별하여별도로백업을하게되는것이다. (1) 실행되는스크립트가 Shell 스크립트임을정의한다. (2) 현재의시각을 -N 옵션이이해할수있는 13 Jan 2001 형태로 TODAY 라는변수에대입한다. (3) 이전에 Full 백업시의시각인 FULL_BACKED_DAY를읽어 PREVIOUSDAY 라는변수에대입한다. (4) /home 디렉토리이하에대해 Full 백업시의시각이후로변경, 추가된파일에대해서만 modified_home.tgz 라는파일로저장한다. 증가분백업스크립트는다소복잡하기는하지만각자의환경에따라 [ 스크립트 2] 스크립트와적절히혼합하여사용한다면프로세스의유발을최소화하여유용하게사용이가능할것이다. 그럼, 이의스크립트를매주또는매일일일이실행할필요없이자동으로실행할수있는방법은무엇일까? 이물음에해답을줄수있는것이바로 cron을이용하는것이다. cron 은일종의일정관리데몬으로서기본설정파일인 crontab 에서정해진시각에따라주기적으로명령을수행한다. crontab 은아래와같이 7개의구성요소로이루어지는데, 6번째필드 (User) 는생략되어도무방하다. 41/401 페이지

42 분 시 날짜 달 요일 사용자 명령어각항목은정수로나타낼수도있고또한몇개의항목은와일드카드문자로인식되는 ``*'' 문자로표현이가능한데, * 는 매 의의미이다. 즉시간항목에 * 이있다면매시간이라는뜻이고날짜항목에 * 이있으면매일이라는뜻이되는것이다. 그리고하나의필드에중복된시간을나타내고자하면콤마로구분하면되고, 연속된시간을나타내고자하면하이픈 (-) 을이용하여일정기간을나타낼수있다. 참고로분은 0-59, 시는 0-23, 날짜는 0-31, 달은 0-12(0또는 12는 12월, 1은 1월 ), 요일은 0-7(0과 7은일요일, 1은월요일 ) 로나타낸다. 그럼, crontab 파일을열어보자. 01 * * * * root run-parts /etc/cron.hourly 02 2 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly * * root run-parts /etc/cron.monthly 0 0 * * 1 root rdate -s time.bora.net && clock -w 위설정에서각각의의미를알아보도록하자. 첫줄은매시 1분에 /etc/cron.hourly 디렉토리내의스크립트를실행한다는의미이고두번째줄은매일 02시 2분에 /etc/cron.daily 내의스크립트를실행한다는의미이며세번째줄은매월, 매일새벽 4시 22분에 /etc/cron.weekly 디렉토리내스크립트를실행하는것처럼보이지만 5번째필드인 < 요일 > 필드값이 * 이아닌 0 이므로 1주일에 1회일요일 (0이므로) 에 /etc/cron.weekly 디렉토리내의스크립트를실행하라는의미이다. 네번째줄은같은방식으로직접해석해보기바란다. 다섯번째줄과같이매일, 매주 0시0분, 매주월요일 (1) 에 rdate -s time.bora.net && clock -w 라는명령어를실행하라는형식으로직접명령어를지정해줄수도있다. 각디렉토리내실행스크립트는정기적으로시스템에의해실행이되어야하므로실행 (execute) 권한이있어야함은당연하다. 따라서위에서작성한스크립트를 700 정도의적당한실행권한을부여하여해당디렉토리에설정해주면될것이다. 또는직접 /etc/crontab를편집하여실행시간을정의할수도있다. 기타 tar나 crontab 에대한부가적인명령어옵셥은 man 페이지나 HOWTO 문서를참고하기바란다. 42/401 페이지

43 3 2 차및 3 차백업에대해 서버자체에서의 1차백업은짧은기간에정기적으로이전의백업을삭제하고새롭게백업을받으므로데이터의훼손이나삭제사실을늦게발견하였을경우에는이미삭제된데이터로백업을받아복구할수없는경우가발생한다. 또는자체백업이되는서버에장애가있거나백업데이터자체가훼손이되는경우도있다. 이러한경우에대비하여반드시 2차백업을, 가능하다면 3차백업까지설정하여운영하는것이필요한데, 2차백업은 1차백업의내용을 ftp로전송하거나, rsync를이용하여특정디렉토리이하에대해동기화를하는방법등이있다. 일반적으로백업주기를타이트하게설정시 1차백업은월, 수, 금새벽에진행하고, 2차백업은화, 목, 토새벽에, 그리고 3차백업은 2차백업서버에접속하여수, 일새벽정도에하는것이권장할만한방법이다. i. FTP 를이용한 2 차백업 ftp를이용한 2차백업서버로의전송은 expect 스크립트를이용해 ftp 작업을자동화할수있으며 ncftpget을이용, 스크립트를작성하는방법도있다. ## Expect script 를이용하는방법 #!/usr/bin/expect...(1) spawn ftp data.tt..co.kr...(2) expect "Name :"...(3) send "backup\r"...(4) expect "Password:"...(5) send "tomorrow\r"...(6) expect "ftp>"...(7) sleep 1... (8) send "bin\r"...(9) expect "200 Type set to I."...(10) sleep 1...(11) expect "ftp>"...(12) 43/401 페이지

44 send "get /backup/home.tar.gz /home/pr/data_home.tar.gz\r"...(13) expect " Kbytes/sec)"...(14) sleep 1...(15) expect "ftp>"...(16) send "quit\r"...(17) expect "221 Goodbye."...(18) interact...(19) (1) 먼저 expect 스크립트라는것을정의한후 (2) 백업을받으려는서버인 data.clunix.com 에 ftp로접속한다. (3)"Name :" 이라는응답이오기를기대 (expect) 한다. (4) 데이터서버에접속하기위해 username 인 backup 을입력후엔터를입력한다. (5) username을입력했으므로 Password: 라는반응이오기를기다린다. (6) username 에해당하는암호인 tomorrow를입력한다. ( 이부분은각자의환경에따라다를것이다 ) (7) ftp> 라는반응이오기를기다린다. (8) 1초간대기를한후 (9) binary 로전송을받아야하므로 bin 입력을한다. (10) 서버로부터 200 Type set to I 라는반응이오기를기다린후 (11) 1초간대기를한후 (12) ftp> 라는반응이오기를기대 (expect) 한후 (13) 원격지데이터서버의 /home/pr/data_home.tar.gz를백업서버의 /backup디렉토리에 home.tar.gz 라는파일로저장한다. (14) 사버로부터 Kbytes/sec) 라는메시지가출력되면 (15) 1초간대기를 (sleep) 한후 (16) ftp> 메시지가오기를기다린후 (17) quit를입력하여접속을끊고 (18) 221 Goodbye 메시지가나오기를기대한후 (19) 이후명령어입력정보를기다린다. 만약전송받는파일의사이즈가클경우에는 sleep 1 대신에 set timeout -1 를지정하여야정상적으로 ftp 전송이가능하다. 그러나 expect 보다는 ncftpget 을이용하는방법이더간단하고빠르게전송할수있다. 44/401 페이지

45 #!/bin/sh rm -f *.tar.gz...(1) ncftpget -u backup -p 'root///' data.clunix.com /home/data_backup \ '/backup/home.tar.gz'...(2) 이두줄로간단하게처리가되는데이는 (1) 기존의백업받았던데이터를삭제후 (2) ncftpget을이용해 data.clunix.com 에접속하여 /backup 디렉토리의 home.tar.gz 라는파일을백업서버의 /home/data_backup 디렉토리이하에 home.tar.gz 라는파일로 ncftp전송한다는뜻이다. expect 보다는 ncftpget 이좀더빠르고간단하므로 ncftpget을사용하기를권장한다. ii. RSYNC 를이용한 2 차백업 ncftpget 과비슷한방법으로 rsync 라는패키지를이용하는방법이있는데, 이는 rpm 으로도기본제공되므로쉽게이용이가능하며백업뿐만이아니라 Clustering 으로도적용가능하다. 설정방법은 (1) 먼저데이터서버의 /etc/inetd.conf 에 rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon를추가설정후 killall -HUP inetd 로 INETD를재설정한다. rsync 는포트 873을이용하며 --daemon은데몬모드로작동한다는뜻이다. (2) /etc/rsyncd.conf 에아래와같이설정한다. [mail] path = /backup comment = mail 서버 uid = root gid = root 45/401 페이지

46 use chroot = yes read only = yes hosts allow = max connections = 1 [mail] rsync의서비스명으로어떠한이름을설정하여도된다. 단, 백업서버에서데이터전송시필요한설정이다. path 데이터를동기화할 ( 즉, 백업으로전송할 ) 디렉토리를설정한다. 여기에서는 /backup 이하의디렉토리에대해 2차백업을할것이다. comment 서비스명에대한설명이다. uid 파일을전송하는사용자의 uid로기본값은 nobody이다. gid 파일을전송하는사용자의 gid로기본값은 nobody이다. use chroot 위의 path를최상위디렉토리로사용하여이외의디렉토리는접근할수없도록하는설정으로보안상필요하므로꼭설정한다. read only 읽기전용모드로설정한다는의미이다. hosts allow 기본값은모든접속을받아들이므로보안을유지하려면반드시백업서버의 IP 를설정하여야한다. max connections 백업서버에서전송시동시접속자수를뜻한다. 1정도면적당하다. timeout 클라이언트에서의접근시타임아웃시간이다. 아래는데이터를백업할 2 차백업서버에서의설정내용이다. #!/bin/sh... (1) cd /mail_backup... (2) rm -rf *... (3) /usr/bin/rsync -av data.clunix.com::mail /mail_backup... (4) chown root.root *... (5) chmod 700 *... (6) (1) shell 스크립트임을정의한다. 46/401 페이지

47 (2) 백업을받을디렉토리인 /mail_backup 으로이동후 (3) 기존의백업받았던데이터를삭제한다. (4) rsync을이용해서버에접속하여데이터를받아온다. 이때 -a는아카이브모드로서파일의속성이나퍼미션및소유권등의정보를보존하여동기화한다는의미이며 -v 는 verbose 의의미로동기화의진행상황을자세하게보여준다. 데이터서버에서서비스명을 [mail] 로했으므로 data.clunix.com::mail 로설정되었으며동기화한데이터는 /mail_backup 이라는디렉토리에저장된다. (5),(6) 은위에서설명되었으며보다세부적인 rsynhc에대한내용은 HOWTO를참고하기바란다. 2차백업을좀더효율적으로하기위해서는데이터서버에이더넷카드를 2장설치하여 eth0 은일반서비스로이용하고 eth1은사설 IP를할당하여백업서버와 Direct 로연결하여백업시이용하는방법도있다. 이경우에는 2차백업시별도의이더넷카드로전송이되므로백업작업시발생하는이더넷카드에서의트래픽이서비스에영향을주지않아병목현상을피할수있고, 사설 IP를이용하므로백업서버의보안도일정정도강화할수있다. 단, 이러할경우백업서버는데이터서버와근거리에위치하여야하고, 사설 IP를할당하므로써백업서버에직접접근시사설 IP로접근하여야하는단점이있기는하다. 4 복구의방식 이제어렵게백업한파일을복구할필요가생기게되었다. 백업파일로부터의복구방법은그리복잡하지않은데, 복구시에는백업때와는달리 c 옵션대신 extract 의의미인 x를사용하는것만주의하면된다. 예를들어보면, tar zxvpf /backup/etc.tar.gz 와같이할경우현재의디렉토리에압축된파일에들어있는모든파일을복구하며 p옵션을주었으므로원래파일의소유자와퍼미션도그대로복구된다. 백업파일에있는모든파일을복구하는것이아니라특정디렉토리나파일에대해서만복구하려면아래와같이하면된다. 47/401 페이지

48 tar zxvpf /backup/home.tar.gz etc/passwd home/clunix/public_html 현재의디렉토리가 /home/user 라면위와같은경우현재의디렉토리에원래의 /etc/passwd 파일이 /home/user/etc/passwd 파일로복원이되고원래의 /home/clunix/public_html 이하의파일들이 /home/user/home/clunix/public_html 로복원되는것이다. 특정파일을지정할경우에는특정파일이복구되고, 디렉토리를지정할경우에는디렉토리이하의디렉토리및파일들이복원된다. 이때주의할점은백업이풀릴파일을지정시 /etc/passwd 와같이원래의절대경로를설정하면백업에서풀리면서현재의설정파일에백업본이그대로 overwrite를되므로주의하여야한다는점이다. 따라서복구시 / 를입력하지않는다. 5 백업및복구시주의점 (1) 데이터의변화주기및경중을고려하여백업주기를다르게설정한다. 백업할데이터가홈페이지관련데이터일경우일반적인 HTML 이나관련 GIF등의이미지파일들은자주변경이되지는않으며주로작업자의 PC에서작업후서버에업로드를하므로작업자의 PC에저장되어있는경우가많다. 그러므로이의데이터들은매일또는수시로백업을받을필요는없으며변경된내용만을백업하거나일정주기마다백업을하면된다. 그리고백업이동작시일반데이터뿐만아니라 zip 이나 asf 또는 mpeg 등과같이파일자체가압축되어있는형식의경우에는파일자체의사이즈가크고백업시많은부하를유발하게되므로이러한파일의경우에는꼭백업할필요가없다면데이터의경중을고려하여백업에서제외하거나백업일정을적당히조정할필요가있다. 요즘은회원제운영이보편화되면서대부분의홈페이지에서각종데이터베이스를연동하여사용하는경우가많은데, 데이터베이스의경우회원의 ID / PW 등의각종회원데이터가보관되고정보가자주변경되므로수시로백업을할필요가있다. 각데이터베이스프로그램의경우별도의백업명령어 (msqldump., mysqldump등 ) 가있으므로 tar 가아닌 dump 명령어를이용하는것도권장할만한다. (2) 1 차백업시백업파티션은별도의디스크로구성한다. 시스템인스톨시하나의물리적인디스크를여러파티션으로논리분할하여이용하는경우가많은데, 이때백업파티션의경우에는반드시별도의물리적인파티션분할을이용하여별도로디스크를구성하는것이중요하다. 이는만약데이터가보관된하드디스크가물리적인결함으로복구가불가능할경우이디스크에있던데이터는물론이고복구시필요한백업까지도함께복구가불가능하여백업으로서의의미가상실되기때문이 48/401 페이지

49 다. 일반적인데이터는빠른연산이필요하므로 SCSI 를이용하고백업디스크는비용부담이적은고용량의 IDE 방식도무난하다. (3) 백업된데이터에대한보안설정도중요하다. 일반적으로백업스크립트는 root 소유로작동하므로백업된파일이생성될때에는 root 소유로백업화일이생성된다. 그러나일반적으로 umask 는 022 로설정되어있으므로생성된백업파일은 644로저장된다. 644일경우아래와같이일반사용자가백업된파일에접근하여심지어는접근이불가능한 shadow 파일에도접근이가능하게되어보안상문제가될수있다. 따라서백업파티션을별도로구성하여백업이끝난후에는반드시백업파티션을 umount하여일반사용자가접근할수없도록하고백업을시작하기전에 mount를하면될것이다. 또는생성된파일의권한을 700 정도로제한하여도된다. 그리고백업작업중간에일반사용자가백업파일을복사할수도있으므로백업시작스크립트에 umask를 066으로설정하여생성되는파일의소유권을 600 으로하고백업이끝난후에 umask를다시 022로재설정하여일반사용자의비정상적인접근을차단할수있다. user]$id uid=500(user) gid=500(user) user]$ cat /etc/shadow cat: /etc/shadow: 허가거부됨 user]$ ls -la /backup/etc.tar.gz -rw-r--r-- 1 root root 월 12 04:22 /backup/etc.tar.gz [user@www user]$ cp /backup/etc.tar.gz. [user@www user]$ tar zxvfp etc.tar.gz etc/shadow etc/shadow [user@www user]$ cat etc/shadow root:$1$v.120zso3$cd/auqqr2eby0:11295:0:99999:7:-1:-1: bin:*:11266:0:99999:7::: daemon:*:11266:0:99999:7::: (4) 2 차, 3 차백업서버는가급적네트워크에서격리할필요가있다. 49/401 페이지

50 만약 1차백업이되고있는데이터서버가해킹을당해데이터가유실되었다면 2차나 3 차백업이되고있는서버의데이터로복원을하여야한다. 그런데, 만약 2차,3차백업서버도기존의서버와같은설정으로되어있어같은방식으로해킹을당해데이터가유실되었다면? 해결책이없는것이다. 따라서최후의보루라할수있는 2차,3차백업서버는기존의서버와환경설정을다르게하고관리자암호등접근권한도다르게설정할필요가있다. 그리고백업서버는일체의제공서비스없이백업만을담당하므로불필요한서비스는띄워놓을필요가없으며백업이작동할때이외에는네트워크에연결되어있을필요가거의없으므로백업이끝난후에는네트워크에서격리할필요가있는데, 이는 ipchains 등을이용하여자체방화벽을구성하여외부에서의접근을일체차단할수도있겠지만다음과같이아예네트워크에서격리를할수도있다. 백업시작전 : /etc/rc.d/init.d/network start 로 Netwok 연결백업종료후 : /etc/rc.d/init.d/network stop 로 Network 차단. 2차,3차백업서버는네트워크에서의격리뿐만아니라물리적으로도격리할필요가있다. 화재나천재지변등피치못할사정으로사고발생시백업서버가원 DATA가위치한서버와공동으로위치할경우돌이킬수없는문제가벌생할수있으므로가능한대로백업서버는다른건물로, 같은건물의경우라면다른층에위치하는것이좋다. 부득이같은층에있다면멀리위치시켜예기치못한서고의가능성을분산시키는것이필요하다. (5) 백업담당자를지정, 운영한다. 보안담당자도없는데백업담당자가필요하겠냐고생각할수있겠지만, 전담자까지는없더라도담당자는지정을하여정기적으로체크를함으로써보다책임성있고신뢰성있는백업체계를유지할필요가있다. 백업이되고있는줄알고복구를할일이있어백업서버를살펴보니 corn 데몬이죽어있다거나설정한스크립트가실행권한이없어실행이되고있지않는경우도있으니백업담당자가수시로체크를하여야한다. 백업체크일지를두거나정기적으로체크하는스크립트를만들어자동으로체크여부를알려주는것도좋은방법이될것이다. (6) tar 이외 cp를이용하는방법도고려할만하다. TAR를이용하여 Packing 이나압축없이 cp를이용하는방법도있는데, 이는일주일에 1회정도 cp -ap /etc /backup/ 와같이 /etc 디렉토리전체를풀복사한후 cp -aufp /etc/ /backup/etc/ 로풀복사이후새롭게생성이나변경, 수정된파일이나 50/401 페이지

51 디렉토리만복사하는방법도있다. (7) 라우터와스위칭의설정파일도백업을잊지않는다. 서버뿐만이아니라라우터와스위칭의 Configuration File 도설정변경시백업을할필요가있다. 특히라우터나스위칭의경우설정변경시원치않던설정까지변경되는경우가있고라우터의장애시에는라우터밑단에연결되어있는모든네트워크가영향을받으므로반드시백업을받아둘필요가있다. 다만설정이자주변경되지는않으므로정기적으로백업을할필요는없고, 설정이변경될때만그때그때마다설정파일을 Copy & Paste 로복사를해두면된다. 6 실전백업예제 이백업스크립터는총 3개의스크립터가필요하다. shell script 에대한준비가부족하다생각하면스크립터경로를변경하지말길바란다. /root/bin/backup-sh /root/bin/sysbkp /root/mesg/backupdisplay 이스크립터는매일중요데이터를백업하되이틀간의자료만을보관하는정책의스크립터입니다. # vi /root/bin/backup-sh #!/bin/sh 51/401 페이지

52 rdate -s time.bora.net bkdir_name=`date +%Y%m%d` # /dev/hdd 하드는백업하드를의미한다. 즉백업하드디스크가계속 mount 되어있다면 # 실제해커가들어왔을때백업파티션에있는백업자료까지도손상시킬수있기때문에 # 백업바로전에 mount 시켜주고백업작업이완료된후반드시 umount 시켜주도록한다. mount -t ext3 /dev/hdd /backup # 기존의백업자료를삭제한다. 즉오늘백업을하면실제 2 일전자료를삭제하는것이다. rm -rf /backup/bk_*-1 # 어제자료를다른이름으로하루더보관하기위한방법으로 Name Label 에다 -1 를붙여 # 디렉토리명을변경한다. mv /backup/* /backup/bk_${bkdir_name}-1 # 실제시스템백업리스트입니다. 각해당백업이저장될폴더를생성함. mkdir /backup/bk_${bkdir_name} mkdir /backup/bk_${bkdir_name}/home mkdir /backup/bk_${bkdir_name}/named mkdir /backup/bk_${bkdir_name}/named/zone mkdir /backup/bk_${bkdir_name}/passwd mkdir /backup/bk_${bkdir_name}/apache mkdir /backup/bk_${bkdir_name}/sendmail mkdir /backup/bk_${bkdir_name}/mysql mkdir /backup/bk_${bkdir_name}/real mkdir /backup/bk_${bkdir_name}/etc mkdir /backup/bk_${bkdir_name}/cron mkdir /backup/bk_${bkdir_name}/root # 사용자의개별데이터백업 ( 홈디렉토리백업 ) tar cvfpz /backup/home_a_h.tar.gz /home/[a-h]* tar cvfpz /backup/home_i_p.tar.gz /home/[i-p]* 52/401 페이지

53 tar cvfpz /backup/home_q_z.tar.gz /home/[q-z]* # 설정파일및시스템중요파일백업 # DNS 설정파일백업 cp -a /etc/named.conf /backup/bk_${bkdir_name}/named cp -a /etc/hosts /backup/bk_${bkdir_name}/named cp -a /etc/resolv.conf /backup/bk_${bkdir_name}/named cp -a /var/named/* /backup/bk_${bkdir_name}/named/zone # 메일설정파일백업 cp -a /etc/mail/* /backup/bk_${bkdir_name}/sendmail # 시스템계정설정파일백업 cp -a /etc/passwd* /backup/bk_${bkdir_name}/passwd cp -a /etc/shadow* /backup/bk_${bkdir_name}/passwd cp -a /etc/group* /backup/bk_${bkdir_name}/passwd # Apache web service 설정파일백업 cp -a /usr/local/apache/conf/httpd.conf /backup/bk_${bkdir_name}/apache # real media server 설정파일백업 cp -a /usr/local/real/rmserver.cfg /backup/bk_${bkdir_name}/real # 시스템자동설정 (cron) 에대한백업 cp -a /var/spool/cron/root /backup/bk_${bkdir_name}/cron # 사용자디스크쿼터에대한설정백업 cp -a /home/aquota.user* /backup/bk_${bkdir_name}/home # 시스템전체설정파일백업 53/401 페이지

54 tar czvfp /backup/bk_${bkdir_name}/etc/etc.tgz /etc # Mysql 데이터백업 ( 근래에는 /usr/local/mysql/data 디렉토리를사용하는경우있음 ) tar czvfp /backup/bk_${bkdir_name}/mysql/mysqldata.tgz /usr/local/mysql/var # root 디렉토리백업 tar czvfp /backup/bk_${bkdir_name}/root/root.tgz /root # 1 일동안수정된파일점검 -> 보안적인의미 find /home \! -type d -atime +1 -exec ls -l {} \; > /backup/bk_${bkdir_name}/home/today_access_file umount /backup sysbkp 스크립터는위의 backup-sh 스크립터를실행하고백업중에발생한오류및백업결과보고를관리자에게메일로해주는스크립터이다. # vi /root/bin/sysbkp #!/bin/sh data=`date +%Y%m%d` /root/bin/backup-sh 2> /root/mesg/err_all cat /root/mesg/err_all grep -v "Removing leading" > err_chk /root/mesg/backupdisplay > /root/mesg/backupnotice mail -s "$data 백업결과통보 " alang@clunix.com < /root/mesg/backupnotice 54/401 페이지

55 backupdisplay 스크립터는백업결과보고서의내용을보고서형태로정리해주는스크립터이다. # vi /root/mesg/backupdisplay #!/bin/sh bk_data=`date +%Y 년 %m 월 %d 일 %H 시 %M 분 ` echo -n " * * * WELCOM TO SYSTEM MANAGER WEB SITE!!!!!! * * SECURITY!! FAST!! GOOD!! WEBSERVER!! * * * * * * * :*:...:*: :*:...:*: :*:...:*: :*:...:*: //////////////////// System user notice //////////////////// " if [! -s /root/mesg/err_chk ] then echo " 시스템백업이 $bk_data 에무사히마쳤습니다." else echo "$bk_data 이루어진백업에오류가발생하였습니다." fi echo -n " /////////////////////////////////////////////////////////// ////////////////// what's error /////////////////////////// 55/401 페이지

56 " echo /bin/cat /root/mesg/err_chk echo -n " /////////////////////////////////////////////////////////// :*: :*:...:*: :*:...:*: :*:.. :*:...:*: :*:...:*: :*:...*: ;; 워낙옛날에만든스크립터이지만지금에와서보니너무유치하다. 마지막으로 root 계정에서 /root/bin/sysbkp 스크립터를자동실행하게 cron 에등록한다. # crontab -e 0 3 * * * /root/bin/sysbkp # /etc/rc.d/init.d/crond restart 5. 문제발생시응급복구방법 파일시스템이깨졌거나해킹등의문제로정상부팅이안되는경우복구방법입니다. 실제리눅스커널로부팅을하는것이가장중요하다. 부팅을해서시스템상태를점검해야이다시설치를할지아님일부중요파일의백업을이용하여복구를할지결정이가능하다. 먼저시스템부팅이안된다. 이제부팅을시켜보자 1 긴급부팅시키기 56/401 페이지

57 1 장에서설정한 bootloader 설정내용도참조하세요. i. Linux 배포 CD 를통한부팅 단이때는기본적으로시스템의하드의파티션중 / 파티션의디바이스명을알고있어야한다. 1장에서언급한바와같이그래서초기셋팅후시스템정보를보관하는것은상당히중요하다. Linux Install CD 를넣고부팅한다. boot 프롬프트에다음내용을기재한다. boot : linux initrd= root=/dev/hda2 -> /dev/hda2 가실제 / 파티션의 device name 이는 Linux Install CD 에있는기본커널로시스템을부팅하여현시스템의 root mount point ( / ) 에접근하는것이다. 이경우는 IDE 하드에리눅스가설치된경우주로사용한다. SCSI 의경우 Install CD 커널에 SCSI 모듈정보가포함안되어져있어서 root device 를못찾는다면서실패할가능성이많다. 주로 Lilo 가깨졌을때많이사용한다. ii. rescue mode booting 역시 Linux Install CD 를이용하여부팅할때 boot 프롬프트에서 rescue 라는옵션과같이부팅 boot : linux rescue 그럼 text 설치과정과비슷하게넘어가다가 bash prompt ( # ) 바로떨어진다. 하드디스크에크게문제가없을경우에는 /mnt/sysimage 폴더에 system root 파티션이 mount 되어져있을것이다. # chroot /mnt/sysimage 하면마치정상적으로부팅한것처럼 mount 가되어진다. 이상태에서정검하면됩니다. 진짜중요한파일에문제가있어이것이안된다고하면 57/401 페이지

58 수동으로 mount 하여중요파일의손상정도를파악한다. rescue 방식은주로 SCSI 하드디스크일경우많이사용함. 주로 Lilo 깨졌을때, 파일시스템깨졌을때, 완전히망가졌을때 iii. single mode 로부팅하기 파일시스템에문제가발생하여파일시스템을체크하기위해부팅하는모드로 LILO Prompt 가뜨면.. Lilo : linux single 위와같이부팅한다. 그런후안정스럽게파일시스템을점검및복구한다. 이밖에파일시스템복구목적으로긴급부팅하는방법으로는 lilo: linux init=/bin/sh 도있다. 2 부팅디스켓만들기 먼저부팅디스켓으로사용할커널이미지를선택한다. 그리고선택한커널이미지가 root 장치 (root mount point) 가재대로잡혀있는지확인한다. # rdev /boot/vmlinuz Root device /dev/hda1 만일루트장치가현재잡혀있는거랑틀리다면아래와같이수정한다. # rdev /boot/vmlinuz /dev/hda3 # 58/401 페이지

59 이제깨끗한플로피디스켓하나준비하고포맷한다. # fdformat /dev/fd0 # dd if=/boot/vmlinuz of=/dev/fd0 bs= 파일시스템점검수리 # fsck -t [type] [device] fsck 파일점검은가능한 umount 한후에실행한다. 하지만 / 을 mount 하지않은면당근부팅이제대로될수없기에 / 를체크할때는플로피로부팅을하던지아님 single mode 로부팅한후체크한다. 체킹후 mount -t -w -o remount / 해주면된다. 4 RPM 패키지상태초기화하기 누가해킹혹은실수로 RPM 패키지의퍼미션이나권한등을변경하여정상적인작동을안할경우이를설치시상태로복구하는방법이다. # rpm --setperms -a 이로써 " 철학이있는리눅스설치 " 의모든내용을마치도록하겠습니다. 59/401 페이지

60 60/401 페이지

61 To construct internet service system in Redhat Linux 9 ( 리눅스기반인터넷서비스환경구성 ) 클루닉스기술부 2 차세미나자료 61/401 페이지

62 ==================================================================== ========= Redhat 9 Linux Internet Service System 구축하기 ==================================================================== ========= * 주요내용 Bind 를이용한 DNS 서비스 2. Sendmail 을이용한 SMTP/POP3 메일서비스 3. Proftpd 를이용한 FTP 서비스 4. RealServer 를이용한 real media Streaming 서비스 5. Apache + PHP + Tomcat(JSP) + mysql 를이용한웹서비스 * 사용된패키지 OS : Redhat Linux 9 bind sendmail proftpd realserver apache php mysql tomcat tomcat-connectors Zend zlib tiff libpng clibpdf pdflib swf 62/401 페이지

63 freetype jpeg libungif gd BIND9 를이용한 DNS 서버구축하기 /etc]# rndc-confgen > /etc/rndc.conf /etc]# cat /etc/rndc.conf Key "rndc-key" { algorithm hmac-md5; secret "n+h/dagntmmekimn25/h4g=="; }; options { default-key "rndc-key"; default-server ; default-port 953; }; [root@ns root]# vi /etc/rndc.conf key "syszone-key" { algorithm hmac-md5; secret "e05yfvyzq/y8hn+fmk7g9w=="; }; options { default-key "syszone-key"; default-server ; default-port 953; }; rndc-key 값을자기사이트에맞게수정한다. ( 보안상문제 ) 63/401 페이지

64 root]# vi /etc/named.conf options { directory "/var/named"; }; controls { inet allow { localhost; } keys { "syszone-key"; }; }; key "syszone-key" { algorithm hmac-md5; secret "e05yfvyzq/y8hn+fmk7g9w=="; }; logging { category lame-servers { null; }; category unmatched { null; }; category network { null; }; category notify { null; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone " in-addr.arpa" IN { 64/401 페이지

65 type master; file "syszone.rev"; }; zone " in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "syszone.co.kr" IN { type master; file "syszone.zone"; allow-update { none; }; }; [root@ns root]# vi /var/named/syszone.zone $TTL IN SOA ns.syszone.co.kr. root.ns.syszone.co.kr. ( ; Serial ; Refresh 900 ; Retry ; Expire 3600 ) ; Minimum IN NS ns.syszone.co.kr. IN MX 10 mail IN A ; ns IN A ; www IN CNAME ns mail IN CNAME ns db IN CNAME ns ftp IN CNAME ns [root@ns root]# vi /var/named/syszone.rev $TTL IN SOA ns.syszone.co.kr. root.ns.syszone.co.kr. ( 65/401 페이지

66 ; Serial ; Refresh ; Retry ; Expire ) ; Minimum IN NS ns.syszone.co.kr. IN MX 10 mail.syszone.co.kr. 180 IN PTR syszone.co.kr. 180 IN PTR mail.syszone.co.kr. [root@ns root]# cat /etc/resolv.conf search syszone.co.kr nameserver ;;; search 의의미 ;;; resolv.conf 파일에 search domain 을적어주는이유는여기에적힌도메인은보통자기자신의도메인을주로적고여기에적힌도메인의 sub name 은그냥 hostname 만으로도찾을수있게한다. [root@ns root]# nslookup mail Server: Address: #53 mail.syszone.co.kr canonical name = ns.syszone.co.kr. Name: ns.syszone.co.kr Address: 이제설정한도메인을검색해보자 [root@ns root]# nslookup syszone.co.kr Server: /401 페이지

67 Address: #53 Name: syszone.co.kr Address: root]# nslookup Server: Address: # in-addr.arpa name = mail.syszone.co.kr in-addr.arpa name = syszone.co.kr ;; 주의점 ;; DNS 서버가방화벽안쪽에있을경우반드시 tcp 53 port 와 udp 953 port 를 open 시켜두어야한다. 2. Sendmail 로메일서버구축하기 인터넷이대중화되면서편지를주고받는것보다 ( 전자우편 ) 을주고받는것이일상적인일이되었습니다. 이번주테마에서는 ( 전자우편 ) 이어떻게전달되는지의개념과메일서버로가장많이사용되고있는 Sendmail의설치방법과사용법에대해서알아보도록하겠습니다. ( 전자우편 ) 과메일서버 Sendmail의설치와사용법을배우기전에 ( 전자우편 ) 이어떠한경로를통해전달되고어떻게사용되는지에대해살펴보겠습니다. 메일서버란인터넷에서 ( 전자우편 ) 을주고받는기능을수행하는서버를말하며, ( 전자우편 ) 은크게두종류의프로그램과프로토콜에의해전달됩니다. 여기서두종류의프로그램이란 MUA(Mail User Agent) 와 MTA(Mail Transfer Agent) 를말합니다. MUA로는사용자가직접메일을작성하거나보낼때사용하는넷스케이프메신저, 마이크로소프트아웃룩, 유도라등의프로그램이있고, MTA는실제로메일을전송해주는 Sendmail, Qmail등의프로그램이있습니다. 67/401 페이지

68 아래의그림과같이 Sendmail이설치된메일서버는 SMTP(Simple Mail Transfer Protocol) 프로토콜을사용하여메일을전송하고, 호스트로부터받은메일을클라이언트로전달할때는 POP3 또는 IMAP등의프로토콜을사용합니다. 예를들어 아래와같은과정을거쳐메일이전달됩니다. 1. MUA 프로그램에서보낸메일은먼저 SMTP 프로토콜을통해 mail.linuxul.com 메일서버에전달됩니다. 2. mail.linuxul.com에서대기하고있던 MTA데몬 (Sendmail) 은메일을메일큐디렉토리 (/var/spool/mqueue) 에임시저장한후 SMTP 프로토콜을통해다시 yahoo.co.kr메일서버로전송하고큐디렉토리에저장했던메일을삭제합니다. yahoo.co.kr에서는 sendmail 데몬이대기하고있다가 mail.linuxul.com 메일서버가보내온메일의도착지가자신의것인지확인한후맞으면메일박스 (/var/mail 디렉토리 ) 에 nea라는파일로저장합니다. 3. nea@yahoo.co.kr의사용자는마이크로소프트아웃룩이나유도라와같은 MUA를통해메일을확인하며, 이때에는 POP3나 IMAP등의프로토콜을통해메일이전송됩니다. Sendmail Sendmail은메일서버로가장많이사용되고있는 MTA프로그램으로공식사이트는 대부분의리눅스배포판에기본적으로설치가되어있으므로자신의시스템에맞는환경설정을한후사용하시면됩니다. Sendmail의최신버전은 sendmail 이며아래의사이트에서다운받을수있습니다. Sendmail 공식미러사이트 - ftp://ftp.sendmail.org Sendmail 미러사이트 - 국내미러사이트 : ftp://ftp.linux.co.kr/server/sendmail 68/401 페이지

69 POP3와 IMAP 앞에서도설명했듯이넷스케이프메신저나마이크로소프트아웃룩과같은클라이언트프로그램에서메일을가져오려면메일서버에 POP3 또는 IMAP등의데몬이설치되어있어야합니다. POP3(Post Office Protocol version 3) 와 IMAP(Internet Message Access Protocol) 데몬은사용자의인증절차를거친후메일을클라이언트에보내는기능을수행합니다. RedHat 리눅스배포판에서는 IMAP과 POP 데몬을하나의패키지 (UW IMAP) 로제공하고있어누구나쉽게설치할수있으며최신버전은아래의사이트에서다운받으시면됩니다. UW IMAP 공식홈페이지 - UW IMAP 미러사이트 - ftp://ftp.cac.washington.edu/imap 국내미러사이트 - ftp://ftp.linux.co.kr/server/imap Sendmail 과 IMAP 설치하기 대부분의리눅스배포판에는 Sendmail이기본적으로내장되어있으므로최신버전이나보안문제로인해다시설치해야하는경우를제외하면소스를사용해설치하는경우는드물고배포판에들어있는 RPM 패키지를사용해설치합니다. Sendmail 설치하기 와우리눅스 7.0 까치버전을기본 OS로하여 Sendmail을설치하는방법에대해알아보겠습니다. 먼저 CD-ROM을마운트한후 /RedHat/RPMS 디렉토리에있는 sendmail을확인합니다. 기본적으로제공하는 Sendmail은 Sendmail 입니다. # mount /dev/cdrom # cd /mnt/cdrom/redhat/rpms # ls sendmail* sendmail i386.rpm sendmail-cf i386.rpm sendmail-doc i386.rpm 69/401 페이지

70 Sendmail에관련된 rpm패키지를모두설치합니다. # rpm -Uvh sendmail* sendmail ############################# sendmail-cf ############################# sendmail-doc ############################# Sendmail을실행하기전에 /etc/services 파일을열고 smpt 프로토콜에주석처리가되어있는지확인한후 Sendmail 서버를실행합니다. # cat /etc/services grep smtp smtp25/tcp mail smtp25/udp mail smtps 465/tcp # SMTP over SSL (TLS) Sendmail 서버가정상적으로실행되었는지확인하기위해 telnet을사용해 25번포트 (smpt) 로접속해봅니다. 아래와같은메시지가출력되면 Sendmail이정상적으로실행된것입니다. Sendmail 서버가정상적으로실행되었는지확인하기위해 telnet을사용해 25번포트 (smpt) 로접속해봅니다. 아래와같은메시지가출력되면 Sendmail이정상적으로실행된것입니다. # telnet 0 25 Trying Connected to 0 ( ). Escape character is '^]'. 220 xxxxxx.net ESMTP Sendmail /8.11.2; Sat, 21 Jul :28: 만약레드헷버젼이 7.1 이상부터는 relay 보안기능이강화되어서초기셋팅상태에서는내부사용자끼리만메일을보내고받을수있다. 원격지에서는이서버를통해서메일을주고받을수가없다. 일단.. 새로 sendmail.cf 파일을만들어야한다. 70/401 페이지

71 # cd /etc/mail /etc/mail/sendmail.mc 파일을수정한후 m4 를이용하여새로운 sendmail.cf 파일을만든다. (redhat 7.1 부터변경된사항 ) # vi sendmail.mc 아래설정부분제일앞에 "dnl" 을붙여준다. dnl DAEMON_OPTIONS(`Port=smtp,Addr= , Name=MTA') # m4 sendmail.mc > /etc/sendmail.cf # /etc/rc.d/init.d/sendmail restart 확인하도록하자. # telnet 25 Trying x.x.x.x... Connected to 0. Escape character is '^]'. 220 xxxxxxx.net ESMTP Sendmail /8.11.2; Wed, 27 Jun :29: Washington IMAP설치하기 Washington IMAP 역시 RPM 패키지로제공하고있으므로 CD-ROM을마운트한후쉽게설치할수있습니다. 먼저 CD-ROM에있는 UW IMAP 패키지를확인해보겠습니다. # mount /mnt/cdrom # cd /mnt/cdrom/redhat/rpms # ls imap* 71/401 페이지

72 imap i386.rpm Washington IMAP는 imap 이라는파일명으로패키징되어있으며, POP3와 IMAP 데몬이모두설치됩니다. # rpm -Uvh imap i386.rpm 이제설치한 imap과 pop3 데몬을클라이언트에서접속할수있도록실행시켜야합니다. 먼저 /etc/services 파일을열어 pop3와 imap의주석을제거하고아래와같이설정되었는지확인합니다. pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 imap2 143/tcp imap # Interim Mail Access Proto v2 imap2 143/udp imap 레드햇 7.0 버전부터는슈퍼데몬이 inetd에서 xinetd로변경되었고, inetd.conf 설정파일이 xinetd.conf 파일로변경되었습니다. xinetd의기본적인설정파일들은 /etc/xinetd.d에위치하므로설치한 ipop3와 imaps 파일을열고 disable = no를추가하여아래의그림과같이설정합니다. # vi /etc/xinetd.d/ipop3 # default: on service pop3 { disable = no socket_type = stream protocol = tcp wait = nowait user = root server = /usr/sbin/ipop3d 72/401 페이지

73 log_on_success += USERID log_on_failure += USERID } 다음에는슈퍼데몬을다시재시작합니다. # /etc/rc.d/init.d/xinetd restart 이제마지막으로설치한 POP3와 IMAP이제대로가동되었는지확인해보겠습니다. telnet을이용하여 25번포트 (POP3) 와 143번포트 (IMAP) 로접속한후아래와같이테스트해봅니다. 여기까지제대로되었다면설치는성공한것입니다. 이밖에 pop 프로그램으로많이사용하는 qpopper 의설치에대해알아보자. pop 데몬으로 qpopper 를사용할것이기때문에최신소스를다운받는다. 다운받은소스를풀고그디렉토리로이동한다음... #./configure --enable-specialauth --enable-servermode --enable-shy # make # cp popper/popper /usr/local/lib inetd.conf 파일을 redhat 7.1 부터는쓰지않으므로 xinetd 방식으로전환한다. 먼저 inetd.conf 파일을 /etc 밑에만들고 pop 설정부분을적어준다. # vi inetd.conf pop-3 stream tcp nowait root /usr/local/lib/popper # inetdconvert -d /etc/xinetd.d pop-3 # /etc/rc.d/init.d/xinetd restart 확인하자. 73/401 페이지

74 # telnet Trying Connected to 0. Escape character is '^]'. +OK ready 이것으로센드메일에관련되어 smtp, pop 모든셋팅을마쳤다. Sendmail 설정하기 Sendmail에서가장중요하고도어려운부분이 sendmail.cf 파일의설정입니다. O Reilly사에서 Sendmail에대한전문서적이나올정도로방대하고다양한기능을가지고있으며사용법도매우다양합니다. Sendmail을사용하기위해기본적으로알아야할설정파일들에대해살펴보겠습니다. /etc/sendmail.cf Sendmail의가장중요한설정파일로 /etc 또는 /etc/mail 디렉토리에자동으로설치되어있습니다. Sendmail.cf에대한자세한내용은 Bryan Costales 와 Eric Allman이집필한 O Reilly의 Sendmail을참고하시거나이상로님의홈페이지 을참고하시기바랍니다. 여기서는간단히메일서버를관리하기위한몇가지설정에대해서만다루겠습니다. Fw/etc/mail/local-host-names 메일을수신할호스트이름을명시한파일의위치를설정합니다. FR-o /etc/mail/relay-domains relay-domains파일에는 Relay를허용할호스트의이름을설정합니다. 주석으로처리하면모든 IP에대해서 Relay가허용되므로스팸메일과같은문제가발생할수도있으므로주의하시기바랍니다. DnMAILER-DAEMON Sendmail 서버가에러메시지를보내야할경우보낸사람의이름을결정합니다. 잘못된메일이되돌아온경우 FROM : Mail Delivery Subsystem 74/401 페이지

75 &ltmailer-daemon> 과같은메시지를보신적이있을것입니다. Kaccess hash /etc/mail/access Relay를허용하거나거부할특정 IP와도메인을설정하는파일입니다. relay-domains보다사용이편리하므로많이사용됩니다. O ForwardPath=$z/.forward.$w:$z/.forward 여러개의메일을가진경우, 특정메일계정으로들어온메일을다른메일로곧바로보내주는포워딩파일을설정합니다. 사용자의홈디렉토리에.forward라는파일을만들고포워딩시킬메일주소를입력하면됩니다. # O MaxMessageSize= 메일의최대크기를결정합니다. 주석을제거하면설정한크기 (Byte단위) 보다큰메일은전송할수없게됩니다. 지금써준 은 1메가로제한한메일용량입니다. O QueueDirectory=/var/spool/mqueue 큐디렉토리를설정합니다. O Timeout.queuereturn=5d 메일을보내려는호스트에문제가생기면메일은큐디렉토리에저장됩니다. Sendmail 서버는쌓인메일을상대방호스트에보내기위해주기적으로접속을시도하며, 일정한기간이지나면메일을다시발송한사람에게되돌려보냅니다. Sendmail이메일을보내려고시도하는기간을설정하는옵션으로 5d는 5일을의미합니다. O Timeout.queuewarn=4h 큐디렉토리에쌓인메일이지정한시간안에전송되지못할경우메일을보낸사람에게경고메일을보냅니다. 기본값은 4h로 4시간안에전송되지못하면보낸사람에게경고의메일을보냅니다. Mlocal, P=/usr/bin/procmail, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, 75/401 페이지

76 A=procmail -Y -a $h -d $u 사용자계정에대문자가있는경우에도메일을받을수있도록설정하려면 Mlocal로시작하는부분을찾아 F= 부분에 'u' 를추가합니다. /etc/mail/access 스팸메일을방지하기위해 Relay를허용할호스트의 IP와도메인을설정하는매우중요한파일입니다. Relay에대한자세한내용은 [Relay에대하여 ] 를참고하시기바랍니다. 먼저 vi에디터나 emacs를사용해 /etc/mail/access파일을열고릴레이를허용하거나거부할 IP 주소를아래와같이입력합니다. [root@zzang911 /root]# cat /etc/mail/access # Check the /usr/share/doc/sendmail /readme.cf file for a description # of the format of this file. (search for access_db in that file) # The /usr/share/doc/sendmail /readme.cf is part of the sendmail-doc # package. # # by default we allow relaying from localhost... localhost.localdomain RELAY localhost RELAY RELAY xxx.xxx.xxx.xxx RELAY spam.com REJECT 위는 localhost 나 xxx.xxx.xxx.xxx 의특정 IP 에서는릴레이를허용하나 spam.com 에서는오는모든메일은릴레이를거부한다는뜻이다. 이와같이허용이나거부대역을지정후 access.db 파일을갱신시켜주면바로적용이된다. [root@zzang911 /root]# makemap hash /etc/mail/access < /etc/mail/access [Relay 에대하여 ] 76/401 페이지

77 그럼간단하게 Relay에대한개념을알아보겠습니다. 예를들어 A라는사람은 IP주소가 이라는컴퓨터에서 B라는사람은 IP주소가 인컴퓨터에서 B가 A에게메일을보내면메일은 로가는것이아니라 mail.linuxul.com서버의 /var/mail 디렉토리밑에 aroma라는파일로복사가됩니다. 그러면 A는 MUA 프로그램을사용해메일을확인할수있지요. 그런데여기서중대한문제점이생겨나게됩니다. 아무나주소를맞게보내면그냥 /var/mail에쌓이게되는것이죠. 그래서하드디스크가메일로꽉차버리거나, 네트워크전송량의증가로네트워크가마비되는경우가생겨나게됩니다. 이문제를막기위해서고안된방법이바로 Relay라는방법입니다. Relay에는두가지방식이있습니다. o 첫번째는메일을보내는 [ 송신 ] 컴퓨터의제한 o 두번째는메일을받는 [ 수신 ] 컴퓨터의제한 Relay로주로쓰이는방법은메일을확인하는컴퓨터는제한하지않고메일을보내는것을제한하는것입니다. 즉, 위의그림과같이 /etc/mail/access파일에 의 C클래스를허용가능하게해주면 처럼허용그룹에들어있는컴퓨터에서는메일을보내고 / 받을수가있지만, 그룹에들지않은 라는컴퓨터에서는메일을확인할수만있습니다. 또한 spam.com이라는도메인에속한호스트에서오는메일은보내기와받기가모두거부됩니다. /etc/mail/relay-domains을사용해도됩니다. 하지만, 차이점은 relay-domains을사용하면sendmail데몬을다시실행시켜주어야하지만 /etc/mail/access파일을사용하면다시실행할필요없이 makemap hash /etc/mail/access < /etc/mail/access라고실행만시켜주면됩니다. /etc/mail/local-host-names 메일을수신할호스트의이름을입력하는파일로, Sendmail 8.9.x 버전이하에서사용되었던 sendmail.cw 파일의명칭이 Sendmail 8.10.x 버전부터는 local-host-names로변경되었습니다. Sendmail 서버는이곳에적힌호스트의이름으로메일이들어오면더이상다른서버로메일을보내지않고자신의메일박스에저장합니다. 아래와같이메일서버의호스트이름을입력하거나여러개의가상호스트를사용한다면모두입력해야합니다. etc/aliases 77/401 페이지

78 특정사용자에게온메일을다른사람에게보내주거나, 메일링리스트를작성해야하는경우에사용되는파일로보안에주의하여사용해야합니다. aliases 파일을열어보면시스템계정들이아래와같이 root로 alias되어있습니다. 또한특정사용자를다른사용자로 alias 시킬수도있습니다. 메일링리스트작성하기 메일링리스트란동일한메일을여러사람에게보내야할경우사용되며, 그룹을지정해구성원들의목록을써주거나특정파일을지정하는방법등으로사용됩니다. 예를들어 aroma, bulpeng, bibi와같은사용자들을 test1라는그룹으로지정해보겠습니다. vi편집기로 /etc/aliases 파일을열고아래의라인을추가한후저장합니다. 앞으로 test1에게메일을보내면지정된모든사용자들에게메일이도착하게됩니다. test1: aroma, bulpeng, bibi 다른하나는특정파일을지정해주는방법으로 include 지시자를사용한후에파일의경로와파일이름을입력합니다. test2: :include:/etc/maillist/test2 # cat /etc/maillist/test2 aroma bulpeng bibi 파일을수정한후에는 newaliases 명령으로 aliases.db를만들어줍니다. # newaliases /etc/aliases: 40 aliases, longest 28 bytes, 434 bytes total 이제 test1 또는 test2로메일을보내면지정된사용자들 (aroma, bulpeng, bibi) 이모두메일을받아볼수있습니다. 78/401 페이지

79 sendmail 기본보안 설정파일속성변경하기 # chattr +i /etc/mail/sendmail.cf or /etc/sendmail.cf # chattr +i /etc/mail/local-host-nameds # chattr +i /etc/mail/aliases or /etc/aliases # chattr +i /etc/mail/access Sendmail deamon을실행하는쉘을바꾸어주기 Sendmail의보안을위해서는보통프로그램의 /bin/sh을 smrsh program으로바꾸어주어야합니다. /bin/sh로실행이되었을경우에해킹의우려가있으므로, 이를제한하기위해서 Sendmail 프로그램의실행을제한할필요가있기때문입니다. 하지만, 레드햇의 RPM으로설치했을경우에는 Default로설정이되어있습니다. /etc/mail/sendmail.cf 또는 /etc/sendmail.cf 파일에서 Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/H drtol, D=$z:/, T=X-Unix/X-Unix/X-Unix, A=sh -c $u 의굵게쓴파일을아래와같이바꾸어주고 Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/H drtol, D=$z:/, T=X-Unix/X-Unix/X-Unix, A=smrsh -c $u sendmail.cf 파일을저장하고아래와같이 sendmail deamon을재시작합니다. # /etc/rc.d/init.d/sendmail restart 79/401 페이지

80 인증되지않은사용자의 Sendmail Deamon사용을제한하기 Sendmail에는 Anti-Spam Feature를포함하고있습니다. 이기능을제대로사용하기위해서는 /etc/mail/sendmail.cf 또는 /etc/sendmail.cf파일에서옵션을바꾸어주어야합니다. # privacy flags O PrivacyOptions=authwarnings, goaway Sendmail에서 goaway 옵션을사용할경우에 SMTP의 EXPN, VRFY명령어를제한하게됩니다. 이로인해서 VERB명령어도더불어제한하게됩니다. 처음 SMTP에접하시는분들은이명령어에대해서생소할수있으므로약간의설명을덧붙이겠습니다. STMP에접속하여서 MAIL을전달하기위해서는여러가지명령어를사용하게되어있습니다. 아래와같이접속후 HELP 명령어를타이핑하면 HELO, EHLO, MAIL, RCPT, DATA, RSET, NOOP, QUIT, HELP, VRFY, EXPN, VERB ETRN, DSN, AUTH, STARTTLS등의사용가능한명령어를보실수있습니다. 자세한사용법과내용은 HELP &ltcommand> 하시면알수있습니다. HELP AUTH <- 입력 AUTH mechanism [initial-response] Start authentication End of HELP info EXPN aroma <- 입력 (Mail list의관계된메일계정을보여줄수있는명령어입니다.) &ltsweetness@linux.co.kr> VRFY aroma <- 입력 (Alias에관계된메일계정을보여줄수있는명령어입니다.) &ltaroma@mail.linuxul.com> 보안설정후에는아래와같은메시지가나타납니다. EXPN aroma <- 입력 Sorry, we do not allow this operation 80/401 페이지

81 mailq command의제한하기 /usr/bin/mailq 명령어를제한하기위해서는 /etc/mail/sendmail.cf or /etc/sendmail.cf파일에서옵션을바꾸어주어야합니다. # privacy flags O PrivacyOptions=authwarnings, goaway, restrictmailq 또한, queue디렉토리를 root권한으로막아주고재시작합니다. #chmod 0700 /var/spool/mqueue #/etc/rc.d/init.d/sendmail restart mailq명령어를실행시키면아래와같은메시지가나타납니다. aroma$ mailq You are not permited to see the queue Queue 프로세스를 root권한으로제한하기 Queue프로세스를 root권한으로제한하기위해서는 /etc/mail/sendmail.cf 또는 /etc/sendmail.cf파일에서아래와같이옵션을바꾸어줍니다. # privacy flags O PrivacyOptions=authwarnings, goaway, restrictmailq, restrictqrun 파일을저장후재시작합니다. #/etc/rc.d/init.d/sendmail restart SMTP Greeting Message를수정하기 Sendmail의 Version 정보라든지여러가지이유로 Connected중에보여주는아래와같은메시지들을바꾸어주므로, 불필요한정보를숨길수있습니다. [root@mail /root]# telnet mail.linuxul.com 25 81/401 페이지

82 Trying Connected to mail.linuxul.com. Escape character is '^]'. 220 mail.linuxul.com ESMTP Sendmail /8.11.0; Wed, 21 Feb :50: /etc/mail/sendmail.cf 또는 /etc/sendmail.cf파일에서옵션을바꾸어주어야합니다. # SMTP initial login message (old $e macro) O SmtpGreetingMessage=$j Sendmail $v/$z; $b 를아래와같이수정합니다. # SMTP initial login message (old $e macro) O SmtpGreetingMessage=$j 파일을저장후 Sendmail을재시작합니다. #/etc/rc.d/init.d/sendmail restart 수정후에는아래와같은메시지가출력됩니다. # telnet mail.linuxul.com localhost.localdomain ESMTP Sendmail 모니터링 [Sendmail의프로세스상태보기 ] # ps aux grep sendmail root ? S 08:43 0:00 sendmail: accepti [Sendmail 의 mail 상태를모니터링하기 ] [root@ns /root]# mailstats 82/401 페이지

83 Statistics from Wed Jan 23 04:02: M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis Mailer K K esmtp K K local ============================================================= T K K [ 메일큐값모니터링하기 ] [root@ns /root]# mailq Mail Queue (5 requests) --Q-ID-- --Size Q-Time Sender/Recipient LAA Sat Jul 21 11:40 MAILER-DAEMON 8BITMIME (Deferred: Connection refused by web.kdlp.org.) QAA Fri Jul 20 16:58 MAILER-DAEMON 8BITMIME (Deferred: Connection refused by tmail.simmani.com.) OAA Wed Jul 18 14:43 MAILER-DAEMON 8BITMIME (Deferred: Connection refused by web.kdlp.org.) PAA19364* (no control file) praliases명령은현재메일시스템의 Aliases상태를보여줍니다. # praliases 3. Proftpd Server 구축하기 ftp://ftp.oops.org 에서 proftpd 를다운받는다 # rpm -Uvh proftpd xkr.ixx.rpm --force # rpm -Uvh proftpd-doc xkr.ixx.rpm --force [root@ns root]# vi /etc/proftpd/proftpd.conf ServerName "ALANG1 FTP Server For CLUNIX" 83/401 페이지

84 # ServerType #ServerType DefaultServer ServerAdmin standalone inetd on # 요즘에는 inverse domain 이거의지원되지않으니, 이설정은필수라고생각 # 하고수정하지않는다. # UseReverseDNS off IdentLookups off # Server 에접속했을경우보내주는 Defualt 메세지를설정한다. Off 로지정 # 하였을경우 Proftpd Server Ready ServerName 이출력된다. # ServerIdent On "ProFTPd Account Server ready.. " # User login 을했을시에 user 들이자신의홈상위디렉토리들을마음대로돌 # 아다니지못하게 chroot() 를설정한다. group 별로설정을하게되며 "!" 는 # 제외하라는의미를가지게된다. # DefaultRoot ~!wheel # ServerType이 standalone이면이항목의주석을풀어줘야한다. inetd로작 # 동을시킬시에는 /etc/services에서 port를지정한다. # Port 21 # root login 을허락할지의여부를지정한다. PAM modules를사용한다면먼저 # /etc/proftpd/ftpusers에서 root를삭제해야한다. # 참조 # RootLogin off # Global section은 proftpd의전체적인설정에모두적용시킨다. <Global> # group 과 world writable 로부터새로운 dir 과 file 들을생성하는것을 84/401 페이지

85 # 막기위하여기본적으로 umask는 022로설정을한다. Umask 022 # ftpusers file을이용하여 PAM 인증을하기를원하면이지시자의값을 on # 으로한다. default 값은 off 이다. AuthPAMAuthoritative on # service를시작하고마칠시간을 24시간표기법으로지정을한다. 이설정 # 은 Korea User Group 의 time limit 패치가적용이되어있어야사용이가 # 능하다. # # UpTime 10 # DownTime 23 # Server 의 Ftpd 시간을지역시간으로고정한다. on 으로했을경우 GMT 시 # 간을표시하기때문에한국의경우 9시간의오차가발생한다. TimesGMT off # 이하버젼에서의버그를위한설정 DenyFilter \*.*/ </Global> # 회선의 Bandwidth를특정속도로제한을한다. 단위는 Byte per Sec 이다. # 다운로드와업로드를 16KB/s (128Kb/s) 로제한 TransferRate RETR,STOR # 최대접속인원수를지정한다. MaxClients 10 # 하나의호스트로부터동시에접근할수있는수를지정한다. 아래의기본 # 설정으로는하나의호스트에서한번의접근만허용한다. MaxClientsPerHost 3 "Sorry, %m connection allow per one host" # 하나의계정 ID 로동시에접근할수있는호스트수를지정한다. 아래의 # 기본설정으로는하나의계정하나호스트에서만접근만허용한다. 하나의 # 계정에하나의접근만을허락하려면위의 MaxClientsPerHost의값과 # MaxHostsPerUser의값이둘다 1이면된다. #MaxHostsPerUser 1 "Sorry, %m hosts allow per one user" 85/401 페이지

86 # 접속대기시간을설정한다. user 가접속후아무작동도안할때일정시간후 # 에접속이종료되게한다 TimeoutIdle 900 TimeoutNoTransfer 900 TimeoutLogin 300 # DeferWelcome 는 client가인증을하기전에 servername을 display하는것을 # 방지한다. DeferWelcome off # 'welcome.msg 는 login 시에보여지고, 'message' 는각하위디렉토리에접 # 속했을때보여지게된다. DisplayLogin /etc/proftpd/welcome.msg DisplayFirstChdir.message # DoS(Denial Of Service) 공격을막기위해, 자식 process 의 maximun number # 를 30 으로설정한다. 만약 30이상의접속을허락할필요가있다면간단하게 # 이치수를증가시키도록한다. 이것은오직 standalone mode 에서만가능하 # 다. inetd mode 에서는 service 당 maximun number를제한하는것을허락하 # 는 inetd server에서설정을해야한다.(xinetd 역시마찬가지이다 ) # MaxInstances 30 User Group nobody nobody # 일반적으로 file들을 overwrite를가능하게한다. <Directory /*> AllowOverwrite on </Directory> # ls 명령어의 -a option으로 hidden file을볼수있게한다. # LsDefaultOptions "-a" <Anonymous ~ftp> User ftp Group ftp # /etc/shells 에등록되어있는 shell 이지정되어있는유저들만로그인이 86/401 페이지

87 # 가능하게한다. ftp user 의 shell 이보통 /bin/false 로지정이되어있 # 으므로이값을 off 로해준다. RequireValidShell off # 익명접근시의패스워드체크정도여부를결정을한다. AnonPassType 지시 # 자는 Korean User Group 의독자적인패치이다. # none -> 아무런체크를하지않는다. # trivial -> 문자가존재하는지만체크한다. # complete- -> 패스워드가완전한형태의이메일주소형식을가지는지 # 체크한다. AnonPassType none # 익명접근시사용하지못하게할패스워드를정규표현식으로설정한다. 이 # 지시자는 Korean User Group 의독자적인패치이다. # #AnonRejectPasswords ^(IEUser mozilla username test)@? # 익명접근을할때특정 password를지정할수있다. 단위의 User 지시자의 # name이 passwd file에등록이되어져있어야한다. 이지시자가 on일경우 # 이메일주소로 login을할수없다. # # 이지시자가설정되면, AnonPassType 이무시된다. # # AnonRequirePassword on # 링크된실경로출력여부 # ShowSymlinks off # User name "ftp" 로 anonymous login을할수있도록한다 UserAlias anonymous ftp <Limit LOGIN> Order allow,deny Allow from Allow from Deny from all </Limit> 87/401 페이지

88 DisplayLogin welcome.msg DisplayFirstChdir.message # 최대접속인원수를지정한다. MaxClients 10 # 하나의호스트로부터동시에접근할수있는수를지정한다. 아래의기본 # 설정으로는하나의호스트에서한번의접근만허용한다. MaxClientsPerHost 3 "Sorry, %m connection allow per one host" # 소유권이 root인 file이나 directory들을보여주지않는다 #HideUser root # 그룹권한이 root인 file이나 directory들을보여주지않는다 #HideGroup root # upload/download 비율을지원한다. # 참조 # # Ratios on # HostRatio foobar.net # 서버를시간대로운영하는것을지정한다. 아래의예는오후 3 시부터오 # 후 6시까지만서버의접속을가능하게한다. # # Korean User Group 의 time limit 패치가적용이되어있어야한다. # # UpTime 15 # DownTime 18 <Limit WRITE> DenyAll </Limit> <Limit READ> DenyALL </Limit> 88/401 페이지

89 # anonymous 계정으로접근할수있는디렉토리별로의허가권설정.. # 일단은모든디렉토리에쓰기권한은주지않는설정이다. <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> # incoming 디렉토리에읽기권한을주기않고..upload 권한만부여. <Directory upload> <Limit READ> DenyAll </Limit> <Limit STOR MKD> AllowAll </Limit> </Directory> <Directory pub> <Limit READ> AllowALL </Limit> <Limit STOR MKD> Order allow,deny Allow from Allow from Deny from all </Limit> </Directory> </Anonymous> [root@ns root]# ncftp -u alang syszone.co.kr Connecting to ProFTPd Account Server ready.. Logging in... 89/401 페이지

90 Password requested by for user "alang". Password required for alang. Password: ################################################################# # # # ProFTPD Korea User Groups # # # # # # This file is printed when account ftp user login # # from /etc/proftpd/welcome.msg # # # ################################################################# User alang logged in. Logged in to syszone.co.kr. ncftp /home/alang > 4. Real Server 셋팅법 먼저일정한디렉토리에 realserver 프로그램을옮겨놓는다. 그런뒤실행파일인 g2p3-linux-c6.bin 에실행퍼미션을준다. [root@alang realserver]# chmod 755 g2p3-linux-c6.bin 실행시킨다. [root@alang realserver]#./g2p3-linux-c6.bin Welcome to the realserver Setup for UNIX Setup will help you get realserver running on your computer. Setup will step you through the installation process by displaying informational screens. Please follow the navigational controls below: 90/401 페이지

91 Key Behavior === ======== N Next P Previous X Exit F Finish (Express Installation) Each input requires the execution of the key above followed by the [ENTER] key. Enter [N]ext to continue:( 그냥엔터친다.) If a realserver license key file has been sent to you, please enter its directory path below. If you have not received a realserver license key file, then this server will default to a Basic RealServer. /usr/local/src/apmj/realplayserver/license.txt ( 여기는라이센스키가있는위치를적어준다. ) Installation and use of realserver requires acceptance of the following terms and conditions: Press [Enter] to display the license text... ( 엔터친다.) 그럼라이센스정보가나온다. REALNETWORKS, INC. END USER LICENSE AGREEMENT REALNETWORKS BASIC SERVER VERSION G2 REDISTRIBUTION NOT PERMITTED Software License for RealNetworks Basic Server Version G2 IMPORTANT -- READ CAREFULLY: This RealNetworks License Agreement ("License Agreement") is a legal agreement between you (either an individual or an entity) and RealNetworks, Inc. and its suppliers and licensors (collectively "RN") for RN's Basic Server Version G2 software ("Software"). You may install only ONE copy of the Software. By clicking on the "I Accept" button, installing, copying or otherwise using the Software, you agree to be bound by the terms of this License 91/401 페이지

92 Agreement. If you do not agree to the terms of this License Agreement, click on the "I Do Not Accept" button and/or do not install the Software. ANY THIRD PARTY SOFTWARE, INCLUDING ANY NON-RN PLUG-IN, THAT MAY BE PROVIDED WITH THE SOFTWARE IS INCLUDED FOR USE AT YOUR OPTION. IF YOU CHOOSE TO USE SUCH SOFTWARE, THEN SUCH USE SHALL BE GOVERNED BY SUCH THIRD PARTY'S LICENSE AGREEMENT, AN ELECTRONIC COPY OF WHICH WILL BE INSTALLED IN THE "realserver" DIRECTORY ON YOUR COMPUTER, UPON INSTALLATION OF THE SOFTWARE. 1. SOFTWARE OWNERSHIP. This is a license agreement and NOT an agreement for sale. This Software and the Documentation is proprietary to RN, and is protected by the copyright and other intellectual property laws of the United States and international treaties. The Software is licensed, not sold. RN continues to own the Software, and other content provided or --More--(13%) 중간생략... rbitration Association. The arbitrator's award shall be binding and may be entered as a judgment in any court of competent jurisdiction. This License Agreement will not be governed by the United Nations Convention of Contracts for the International Sale of Goods, the application of which is hereby expressly excluded. Copyright (c) RealNetworks, Inc. and/or its suppliers Third Avenue, Suite 2900, Seattle, Washington U.S.A. All rights reserved. RealNetworks, RealSystem, RealAudio, RealVideo, and RealPlayer, are trademarks or registered trademarks of RealNetworks. Basic Server Gold EULA /401 페이지

93 1 Choose "Accept" to accept the terms of this license agreement and continue with realserver setup. If you do not accept these terms, enter "No" and installation of realserver will be cancelled. ( 라이센스동의을묻는곳이다... 그냥엔터 ) Enter the complete path to the directory where you want to be installed. You must specify the full pathname of the directory and have write privileges to the chosen directory: /usr/local/real ( 리얼서버가인스톨되는디렉토리를적어준다.) Please enter a username and password that you will use to access the web-based RealSystem Administrator, the RealSystem monitors, and RealSystem live encoders: Username: admin ( 설치후웹상에서관리할수있는데사용할관리자아이디를적는다.) Password: ( 패스워드 ) Please enter a port on which realserver will listen for PNA connections. These connections have URLs that begin with "pnm://": (Default: 7070) (PNA 접속에 port를적어준다. - 디폴트권장 ) Please enter a port on which realserver will listen for RTSP connections. These connections have URLs that begin with "rtsp://": (Default: 554) ( RTSP 접속에사용할 port - 디폴트권장 ) Please enter a port on which realserver will listen for HTTP connections. These connections have URLs that begin with " (Default: 8080) ( HTTP 접속에사용할 port - 디폴트권장 -> 만일 tomcat 설치시에는다른포트를사용한다. 8880) 93/401 페이지

94 realserver will listen for RealSystem Administrator requests on the port shown. This port has been initialized to a random value for security. Please verify now that this pre-assigned port will not interfere with ports already in use on your system; you can change it if necessary. (Default: 1278) 1975 ( 웹상에서관리자페이지로접속할때사용할포트번호 ) You have selected the following realserver configuration: Admin Username: admin Admin Password: muchun Monitor Password: muchun Encoder Username: admin Encoder Password: muchun PNA Port: 7070 RTSP Port: 554 HTTP Port: 8080 Admin Port: 1975 Enter [F]inish to begin copying files, or [P]revious to go back to the previous prompts: F ( 환경설정사항을확인한다. F 를눌려서계속진행 ) Copying RealNetworks program files... realserver installation is complete. The RealSystem Administrator allows you to configure and maintain realserver through an intuitive web-based interface. Please note that realserver must be running in order to use the Administrator. Would you like to start realserver now and launch the RealSystem Administrator? (Default: Yes) ( 리얼서버설치완료. 서버를실행하고관리자모드를실행하겠냐는메세지입니다. - 엔터 ) 94/401 페이지

95 설치가완료되었습니다. 웹에서 도메인 : 관리자포트번호 /admin/index.html 으로접속하면관리도구가나옵니다. 여기서서비스를관리하시면됩니다. 부팅시실행방법은 /etc/rc.d/rc.local 파일안에다음을추가 /usr/local/real/bin/rmserver /usr/local/real/rmserver.cfg -m 64 & 설정추가는웹에서도할수있고바로설정파일을수정할수도있다. # vi /usr/local/real/rmserver.cfg.. </List> <List Name="syszone"> <Var MountPoint="/syszone/"/> <Var ShortName="pn-local"/> <Var BasePath="/home/www/www"/> </List>.. # cd /home/www/www # vi rmtest.html <html> <body> <a href=./realtest.ram> 테스트 </a> </body> </html> # vi realtest.ram rtsp:// /syszone/realdb/yesterday.rm pnm:// /syszone/realdb/yesterday.rm 로접속해서확인할수있습니다. 95/401 페이지

96 5. Mysql + Apache + PHP + JSP + Library 5.1. mysql setting cd /usr/local/src/apmj tar xzvf mysql tar.gz cd mysql /configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-mysqld-user=mysql -- with-charset=euc_kr make make install /usr/local/mysql/bin/mysql_install_db userdel -r mysql groupdel mysql groupadd mysql adduser -g mysql -d /usr/local/mysql/data -s /bin/false mysql chown -R mysql. /usr/local/mysql/data cp /usr/local/src/apmj/mysql /support-files/my-medium.cnf /etc/my.cnf vi /usr/local/mysql/share/mysql/mysql.server $bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file 위행을찾아서뒤에아래옵션을추가로붙여준다. --language=korean --safe-show-database & cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/s90mysqld /etc/rc.d/init.d/mysqld start 5.2. lib setting 96/401 페이지

97 - zlib # rpm 으로 zlib 가설치되었다면삭제 rpm -e --nodeps zlib rpm -e --nodeps zlib-devel 에서 zlib 을다운받습니다. cd /usr/local/src/apmj tar zxvf zlib tar.gz cd zlib /configure -s // libz.so 생성 make./configure && make test && make install //libz.a 생성 cp libz.so* /usr/local/lib cd /usr/local/lib rm -rf libz.so rm -rf libz.so.1 ln -s libz.so libz.so ln -s libz.so libz.so.1 vi /etc/ld.so.conf /usr/local/lib /usr/lib... 97/401 페이지

98 추가함 ldconfig // 추가된 LIB 환경설정을적용함 - tiff cd /usr/local/src/apmj tar xzvf tiff-v3.5.7.tar.gz cd tiff-v3.5.7./configure && make && make install - libpng rpm -e --nodeps libpng rpm -e --nodeps libpng-devel 에서다운.. tar zxvf libpng tar.gz cd libpng cp scripts/makefile.linux Makefile make test && make install - clibpdf 에서다운.. cd /usr/local/src/apmj mv clibpds202r1.tar.tar clibpds202r1.tar.gz tar zxvf clibpds202r1.tar.gz cd ClibPDF/source mv Makefile Makefile.orig cp Makefile.Linux Makefile make lib && make install 98/401 페이지

99 - pdflib 에서다운.. tar zxvf pdflib tar.gz cd pdflib /configure make && make install cd /usr/local/src/apmj - swf ftp://ftp.sgi.com/sgi/graphics/grafica/flash 에서다운.. cd /usr/local/src/apmj tar zxvf dist.99.linux.tar.z mkdir /usr/local/swf cd dist mkdir /usr/local/swf/include mkdir /usr/local/swf/lib mkdir /usr/local/swf/fonts mkdir /usr/local/swf/psfonts mkdir /usr/local/swf/bin cp swf.h /usr/local/swf/include cp libswf.a /usr/local/swf/lib cp bin/* /usr/local/swf/bin cp fonts/* /usr/local/swf/fonts cp psfonts/* /usr/local/swf/psfonts - freetype cd /usr/local/src/apmj tar xzvf freetype tar.gz cd freetype /401 페이지

100 ./configure && make && make install - jpeg cd /usr/local/src/apmj tar xzvf jpegsrc.v6b.tar.gz cd jpeg-6b./configure --enable-shared --enable-static make && make test && make install - libungif rpm -e --nodeps libungif rpm -e --nodeps libungif-devel ftp://sunsite.unc.edu/pub/linux/libs/graphics 에서다운.. cd /usr/local/src/apmj tar zxvf libungif tar.gz cd libungif /configure && make && make install - gd rpm -e --nodeps gd rpm -e --nodeps gd-devel 에서다운.. cd /usr/local/src/apmj tar zxvf gd tar.gz cd gd /configure make && make install 100/401 페이지

101 - imap rpm -qa grep imap 설치확인후설치되있다면삭제... ftp://ftp.cac.washington.edu 에서다운.. cd /usr/local/apmj tar xzvf imap-2004.tar.z mv imap-2004 /usr/local/imap make slx //ssltype 관련 error 발생시.. Makefile 의 SSLTYPE을 nopwd 에서 none 으로변경한다. vi Makefile vi src/osdep/unix/makefile 컴파일이무사히끝났다면... cp imapd/imapd /usr/sbin cp ipopd/ipop3d /usr/sbin vi /etc/xinetd.d/imapd <= 아래의내용을새로적던지.. 복사붙여넣기한다.. service imap { disable = no socket_type = stream wait = no user = root server = /usr/sbin/imapd log_on_success += DURATION USERID log_on_failure += USERID } 저장후빠져나옴 101/401 페이지

102 vi /etc/xinetd.d/ipop3d <= 아래의내용을추가.. service pop3 { disable = no socket_type = stream wait = no user = root server = /usr/sbin/ipop3d log_on_success += USERID log_on_failure += USERID } cp c-client/c-client.a /usr/lib cp c-client/mail.h /usr/local/include cp c-client/rfc822.h /usr/local/include cp c-client/linkage.h /usr/local/include /etc/rc.d/init.d/xinetd restart // test // telnet localhost 110 telnet localhost J2SDK 설치 cd /usr/local/src/apmj rpm -Uvh j2sdk-1_4_1_01-fcs-linux-i586.rpm cd /usr/java ln -s j2re1.4.2_03 jre ln -s j2sdk1.4.1_01 java vi /etc/profile # j2sdk config PATH="$PATH:/usr/java/java/bin" 102/401 페이지

103 export JAVA_HOME="/usr/java/java" source /etc/profile // 확인 // # java -version java version "1.4.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01) Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode) 5.4 apache 1 차설치 cd /usr/local/src/apmj tar xzvf apache_ tar.gz cd apache_ /configure --prefix=/usr/local/apache 5.5 jakarta-tomcat 설치 cd /usr/local/src/apmj tar xzvf jakarta-tomcat tar.gz mv jakarta-tomcat /usr/local/tomcat tar xzvf jakarta-tomcat-connectors src.tar.gz cd jakarta-tomcat-connectors src/jk/native./buildconf.sh./configure --with-apache=/usr/local/src/apmj/apache_ make && make install // 확인 // ls -al /usr/local/src/apmj/apache_1.3.31/src/modules drwxr-xr-x 3 root root 월 31 21:35 jk 103/401 페이지

104 5.6 PHP 설치하기 cd /usr/local/src/apmj tar xzvf php tar.gz cd php /configure --with-apache=/usr/local/src/apmj/apache_ with-mysql=/usr/local/mysql --withimap=/usr/local/imap --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-gif-dir=/usr/lib -- with-zlib-dir=/usr/local/lib --with-gd --with-freetype-dir=/usr/include/freetype2 --with-zlib --with-tiffdir=/usr/local/lib --with-pdflib --with-cpdflib --with-gettext --with-swf=/usr/local/swf --withmod_charset --with-language=korean --with-charset=euc_kr --with-xml --enable-ftp --enable-sockets -- disable-debug --enable-system --enable-track-vars --enable-calendar --enable-magic-quotes make && make install cp libs/libphp4.a /usr/local/src/apmj/apache_1.3.31/src/modules/php4/ cp php.ini-dist /usr/local/lib/php.ini 5.7 apache 2 차셋팅 cd /usr/local/src/apmj/apache_ /configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --activatemodule=src/modules/jk/lib/jk.a --enable-module=so --enable-rule=shared_core --enable-shared=max make && make install vi /usr/local/apache/conf/httpd.conf 간단히 ServerName 의주석을풀고현시스테의도메인이나 IP 를적어준다. 800 줄근처에 AddType allplcation/x-httpd-php 로시작하는부분을찾아서.. AddType application/x-httpd-php.html.php3.php4.inc.phtml.php.ph <= 요렇게바꿉니다 /usr/local/apache/bin/apachectl restart 5.8 Zend 설치하기 104/401 페이지

105 cd /usr/local/src/apmj tar xzvf ZendOptimizer-2\[1\].5.2-Linux_glibc21-i386.tar.gz cd ZendOptimizer Linux_glibc21-i386./install 5.9 Apache httpd.conf 설정 ServerType standalone ServerRoot "/usr/local/apache" #LockFile /usr/local/apache/logs/httpd.lock PidFile /usr/local/apache/logs/httpd.pid ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard #ResourceConfig /usr/local/apache/conf/srm.conf #AccessConfig /usr/local/apache/conf/access.conf Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 20 MaxSpareServers 40 StartServers 20 MaxClients 150 MaxRequestsPerChild 0 #Listen 3000 #Listen :80 #BindAddress * 105/401 페이지

106 # Dynamic Shared Object (DSO) Support # LoadModule foo_module libexec/mod_foo.so LoadModule env_module libexec/mod_env.so LoadModule config_log_module libexec/mod_log_config.so LoadModule mime_module libexec/mod_mime.so LoadModule negotiation_module libexec/mod_negotiation.so LoadModule status_module libexec/mod_status.so LoadModule includes_module libexec/mod_include.so LoadModule autoindex_module libexec/mod_autoindex.so LoadModule dir_module libexec/mod_dir.so LoadModule cgi_module libexec/mod_cgi.so LoadModule asis_module libexec/mod_asis.so LoadModule imap_module libexec/mod_imap.so LoadModule action_module libexec/mod_actions.so LoadModule userdir_module libexec/mod_userdir.so LoadModule alias_module libexec/mod_alias.so LoadModule access_module libexec/mod_access.so LoadModule auth_module libexec/mod_auth.so LoadModule setenvif_module libexec/mod_setenvif.so #LoadModule php4_module libexec/libphp4.so #LoadModule jk_module libexec/libjk.so ClearModuleList AddModule mod_env.c AddModule mod_log_config.c AddModule mod_mime.c AddModule mod_negotiation.c AddModule mod_status.c AddModule mod_include.c AddModule mod_autoindex.c AddModule mod_dir.c AddModule mod_cgi.c AddModule mod_asis.c AddModule mod_imap.c AddModule mod_actions.c AddModule mod_userdir.c AddModule mod_alias.c 106/401 페이지

107 AddModule mod_access.c AddModule mod_auth.c AddModule mod_so.c AddModule mod_setenvif.c AddModule mod_php4.c #ExtendedStatus On Port 80 User nobody Group nobody ServerAdmin ServerName DocumentRoot "/usr/local/apache/htdocs" <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/usr/local/apache/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/home"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Deny from env=go_out 107/401 페이지

108 Deny from export=go_out </Directory> <IfModule mod_userdir.c> UserDir www </IfModule> #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> #</Directory> <IfModule mod_dir.c> DirectoryIndex index.html index.htm index.php index.phtml index.php3 index.jsp </IfModule> AccessFileName.htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files> <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> <Files ~ "*Chat*"> Order allow,deny 108/401 페이지

109 Deny from all </Files> <Files ~ "*CHAT*"> Order allow,deny Deny from all </Files> #CacheNegotiatedDocs UseCanonicalName On <IfModule mod_mime.c> TypesConfig /usr/local/apache/conf/mime.types </IfModule> DefaultType text/plain <IfModule mod_mime_magic.c> MIMEMagicFile /usr/local/apache/conf/magic </IfModule> HostnameLookups Off ErrorLog /usr/local/apache/logs/error_log LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog /usr/local/apache/logs/access_log common ServerSignature On # > AddType text/html.ahtml # > EBCDICConvert Off=InOut.ahtml # # EBCDICConvertByType On=InOut text/* message/* multipart/* # EBCDICConvertByType On=In application/x-www-form-urlencoded 109/401 페이지

110 # EBCDICConvertByType On=InOut application/postscript model/vrml # EBCDICConvertByType Off=InOut */* <IfModule mod_alias.c> Alias /icons/ "/usr/local/apache/icons/" <Directory "/usr/local/apache/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Alias /manual/ "/usr/local/apache/htdocs/manual/" <Directory "/usr/local/apache/htdocs/manual"> Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" <Directory "/usr/local/apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> </IfModule> <IfModule mod_autoindex.c> IndexOptions FancyIndexing AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip 110/401 페이지

111 AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif.bin.exe AddIcon /icons/binhex.gif.hqx AddIcon /icons/tar.gif.tar AddIcon /icons/world2.gif.wrl.wrl.gz.vrml.vrm.iv AddIcon /icons/compressed.gif.z.z.tgz.gz.zip AddIcon /icons/a.gif.ps.ai.eps AddIcon /icons/layout.gif.html.shtml.htm.pdf AddIcon /icons/text.gif.txt AddIcon /icons/c.gif.c AddIcon /icons/p.gif.pl.py AddIcon /icons/f.gif.for AddIcon /icons/dvi.gif.dvi AddIcon /icons/uuencoded.gif.uu AddIcon /icons/script.gif.conf.sh.shar.csh.ksh.tcl AddIcon /icons/tex.gif.tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif.. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ DefaultIcon /icons/unknown.gif #AddDescription "GZIP compressed document".gz #AddDescription "tar archive".tar #AddDescription "GZIP compressed tar archive".tgz ReadmeName README HeaderName HEADER IndexIgnore.??* *~ *# HEADER* README* RCS CVS *,v *,t 111/401 페이지

112 </IfModule> <IfModule mod_mime.c> AddLanguage da.dk AddLanguage nl.nl AddLanguage en.en AddLanguage et.ee AddLanguage fr.fr AddLanguage de.de AddLanguage el.el AddLanguage he.he AddCharset ISO iso AddLanguage it.it AddLanguage ja.ja AddCharset ISO-2022-JP.jis AddLanguage kr.kr AddCharset ISO-2022-KR.iso-kr AddLanguage nn.nn AddLanguage no.no AddLanguage pl.po AddCharset ISO iso-pl AddLanguage pt.pt AddLanguage pt-br.pt-br AddLanguage ltz.lu AddLanguage ca.ca AddLanguage es.es AddLanguage sv.sv AddLanguage cs.cz.cs AddLanguage ru.ru AddLanguage zh-tw.zh-tw AddCharset Big5.Big5.big5 AddCharset WINDOWS-1251.cp-1251 AddCharset CP866.cp866 AddCharset ISO iso-ru AddCharset KOI8-R.koi8-r AddCharset UCS-2.ucs2 112/401 페이지

113 AddCharset UCS-4.ucs4 AddCharset UTF-8.utf8 <IfModule mod_negotiation.c> LanguagePriority kr en da nl et fr de el it ja no pl pt pt-br ru ltz ca es sv tw </IfModule> AddType application/x-tar.tgz AddEncoding x-compress.z AddEncoding x-gzip.gz.tgz #AddType application/x-compress.z #AddType application/x-gzip.gz.tgz AddType application/x-httpd-php.html.php3.php4.inc.phtml.php.ph.jsp.xtm AddType application/x-httpd-php-source.phps AddHandler cgi-script.cgi #AddType text/html.shtml #AddHandler server-parsed.shtml #AddHandler send-as-is asis #AddHandler imap-file map #AddHandler type-map var </IfModule> #MetaDir.web #MetaSuffix.meta # Customizable error response (Apache style) # these come in three flavors # # 1) plain text #ErrorDocument 500 "The server made a boo boo. # n.b. the single leading (") marks it as text, it does not get output # # 2) local redirects 113/401 페이지

114 #ErrorDocument 404 /missing.html # to redirect to local URL /missing.html #ErrorDocument 404 /cgi-bin/missing_handler.pl # N.B.: You can redirect to a script or a document using server-side-includes. # # 3) external redirects #ErrorDocument # N.B.: Many of the environment variables associated with the original # request will *not* be available to such a script. # # Customize behaviour based on the browser # <IfModule mod_setenvif.c> BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Webzip" go_out BrowserMatch "WebZip" go_out BrowserMatch "Teleport" go_out BrowserMatch "GetRight" go_out BrowserMatch "Wget" go_out </IfModule> #<Location /server-status> # SetHandler server-status # Order deny,allow # Deny from all # Allow from.example.com #</Location> # Allow remote server configuration reports, with the URL of # (requires that mod_info.c be loaded). # Change the ".example.com" to match your domain to enable. # 114/401 페이지

115 #<Location /server-info> # SetHandler server-info # Order deny,allow # Deny from all # Allow from.example.com #</Location> # MOD_JK Config <IfModule mod_jk.c> JkWorkersFile /usr/local/tomcat/conf/workers.properies JkLogFile /usr/local/tomcat/logs/jk.log JkLogLevel info </IfModule> NameVirtualHost <VirtualHost > ServerAdmin alang@syszone.co.kr DocumentRoot /home/syszone/www ServerName syszone.co.kr ServerAlias syszone.co.kr JkMount /*.jsp ajp13 JkMount /webapps/* ajp13 JkMount /ROOT/* ajp13 </VirtualHost> 5.10 Tomcat 설정 vi /usr/local/tomcat/conf/workers.properies workers.tomcat_home=/usr/local/tomcat workers.java_home=/usr/java/java worker.list=ajp12, ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 115/401 페이지

116 5.11 Tomcat 과 Apache 연동및가상호스트설정 vi /usr/local/tomcat/conf/server.xml.. </Host> <Host name="syszone.co.kr"> <Context path="" docbase="/home/www/www" reloadable="true"/> <Alias> </Host> </Engine> </Service> </Server> /usr/local/apache/bin/apachectl restart /usr/local/tomcat/bin/strtup.sh // 확인 // vi /home/syszone/www/phpinfo.php <? phpinfo ();?> vi /home/syszone/www/hello.jsp <% out.println("hello, JSP"); %> /401 페이지

117 Introduction to Load Balance Clustering Using Linux ( 부하분산클러스터구성 ) 클루닉스기술부 3 차기술세미나자료 117/401 페이지

118 목 차 1. 시스템구축준비하기 1.1. 리눅스부한분산클러스터개론 1.2. 시스템구축환경 2. Open Source 를이용한리눅스부하분산클러스터구축 2.1. 리눅스클러스터커널환경구축 2.2. ipvsadm 설치및사용방법 2.3. LB 서버와 Real 서버의네크워크구성 2.4. Direct Routing 방식에서의 ARP 문제해결 2.5. 부하분산테스트 2.6. Mon 을이용한 Load Balance 에 Fail Over 기능추가하기 2.7. LB 서버간의이중화구축하기 ( Heartbeat ) 3. Encluster 를이용한리눅스부하분산클러스터구축 3.1. Encluster 1.6 을이용한리눅스부하분산클러스터구축 3.2. Encluster 2.0 을이용한리눅스부하분산클러스터구축 4. Data 동기화 ( Data Sync or Data Mirroring ) 4.1. rsync 를이용한 data sync 4.2. dutils 를이용한 data sync 4.3. NFS + Automount 를이용한 data sync 4.4. Intermezzo 를이용한 data sync 4.5. Pvfs 를이용한 data sync 5. Benchmark Tool 로시스템성능체크하기 118/401 페이지

119 5.1. 웹서버벤치마크개론 5.2. 웹서버벤치마크퉆과사용방법 5.3. 벤치마크시나리오수립및분석하기 5.4. 웹시스템튜닝하기 6. 리눅스클러스터를이용한대용량웹클러스터시스템구성하기 ( 시스템컨설팅 ) 6.1. 인터넷웹클러스터개론 6.2. 대규모인터넷사이트구축설계 1. 시스템구축준비하기 1.1. 리눅스부하분산클러스터개론 소개인터넷의발달과더불어생활의정보전달매체로웹이란수단을선택하기시작한지 10 년에다되어가면서매년인터넷의사용증가는 100% 를넘고있다. 뿐만아니라근래에들어인터넷초기시절의단순한정보공유매개체로서의역할에서사업상의중요한업무시스템구성의중요한요소까지차지하게되었다. 인터넷의발달과더불어하드웨어와소프트웨어그리고네트워크의발달속도역시빠른추세로증가하고있지만기하급수적으로늘어난서비스사용량을처리하기에보편적인시스템의성능과시스템환경의부족함이많이존재하고있다. 이에보다높은가용성 ( Availability ) 과확장성 ( scalable ) 을가진서버의요구가절실히높아지고있다. 이에고성능 SMP 서버를이용하는경우도있지만비경제적인가격문제와실제시스템병목원인이꼭 서버의성능에만있는것이아니기때문에고성능 SMP 서버만이진정한해결방법은아니다. 빠른네트워크의발달과함께분산된서버의자원을하나의작업에이용하는클러스링기술이발달하게 되고인터넷서비스역시클러스터링기술이부각되기시작하였다. 클러스터란여러대의컴퓨터를네트워크를통해연결하여하나의단일컴퓨터처럼작동하게하는기술을말한다. 클러스터는사용목적에따라구현방법및소프트웨어가달라지며, 클러스터의기능과운영이달라진다. 따라서클러스터는그사용목적에따라베어울프와같은과학계산용클러스터와인터넷서비스에서사용되는부하분산클러스터로나눌수있다. 이런클러스터시스템의장점으로추가확장성과높은가용성그리고비용 - 효율성을두루갖추고있어 인터넷서비스에사용되는시스템의요구조건을충족시켜줄수있다. 119/401 페이지

120 부하분산클러스터는이전부터 L4 Switch 란하드웨어를이용하여시스템구축을해왔지만워낙고가의시스템이여서일반사이트에서는적용이힘든방식으로알려져있었다. 하지만 Linux 의커널에서 L4 Switch 의기능과동일하고더월등한성능의 LVS(Linux virtual server) 기능을지원함에 따라일반사이트에서도손쉽게클러스터기술을이용하여고성능의서버를이용할수있게되었다. 리눅스의 LVS 커널은커널 2.0.x 때부터지원되었고, 사용된지도 7~8 년에이르고있다. 이에지속적인안정성과성능이개선되어져리눅스의수많은기능중가장선호하는기능으로손꼽고 있다. 이런리눅스부하분산클러스터도여러가지방식이있고리눅스 LVS 커널과다른리눅스응용 프로그램을조합하여고성능뿐만아니라고가용성의기능까지탑재하게된다. 본문에서는네트워크구성에따른부하분산방식과작업활당방식그리고고가용성을구현하는 방법에대해자세히알아보도록하겠다 네트워크구성에따른부하분산클러스터종류부하분산클러스터를생각하면대부분 Load Balancer 을앞단에두고 backend 의 Real Server 에작업을분산하는서버측면의부하분산방식을알고있다. 하지만클라이언트에부하분산모듈을넣어서버의상황을클라이언트가서버로부터얻어내어클라이언트가직접서버로분산해서들어가는클라이언트측면의부하분산방식도있다. ( 예 : Clunix 의 LB Less, 버클리의스마트클라이언트, 보스턴대학의클라이언트 ) 서버측면의부하분산방식으로는 DNS 의호스트를이용한 Round-Robin DNS 방법과 Reverse-Proxy 와같은응용프로그램계층의부하분산그리고 L4 Switch 와같은 IP 계층의부하분산방식이있다. 리눅스가상서버역시 IP 계층의부하분산방식에속한다. 리눅스가상서버에서도네트워크구성에따라주소변환방식 (NAT) 과 IP tunneling 에의한방식 그리고 Direct Rounting dispatching 기술을이용한방식등이있다 Network address translation 부하분산방식 ( 네트워크주소변환방식 ) IPv4 에서 IP 주소가부족하고보안상에몇가지문제가있어서인터넷에서사용할수없는사설 IP ( / , / , / ) 를사용하는경우가많아지고있다. 이때인터넷망에서사설망의호스트에접근하기위해서네트워크주소변한 (NAT) 기능이필요하게된다. 이런리눅스에서의 NAT 방식의부하분산방식은초기의리눅스 IP 마스커레이딩코드와 Steven Clarke 의포트포워딩코드를재사용하여구현하고있다. 120/401 페이지

121 사용자가 LVS 에서가지고있는 VIP 를향해서비스요청을하면 LVS 에서는그서비스요청된 IP 와 Port 가가상서버정책에있는지를확인하고있다면이정책에정해진스케줄에따라실제작업서버로패킷을포워딩시키게된다. 이때 LVS 서버는사용자가요청한패킷의네트워크주소부분을공인 IP 에서사설 IP 로주소를변환시켜같은사설망에존재하는작업서버로보내게된다. 작업서버는 LVS 서버로부터패킷을전달받고이에대한요청처리된내용을다시 LVS 에보내게된다. 그럼 LVS 가사설 IP 로된패킷을다시받아다시공인 IP 로주소를변환시켜서사용자에게돌려보내는방식이다 Direct Routing 부하분산방식 실제서버와부하분산서버사이에서가상 IP 를공유하는방식으로부하분산서버와실제작업서버에모두동일한가상 IP 를가지도록네트워크구성해야한다. 가상 IP 가설정된인터페이스를통해사용자의요청을받아들여이요청이가상서버정책에적용되는요청인지를확인후적용되는패킷이면정책에따라실제작업서버로패킷을포워딩하게된다. 이때실제서버역시별도의 Arp 캐싱을남기지않는 Alias 인터페이스를통해부하분산서버로부터포워딩되는패킷을받아들이게된다. 만일가상 IP 가설정된인터페이스에 arp caching 이남는다고하면사용자가부하분산서버를통해초기에연결된실제작업와연결되면그이후부터는초기접속한작업서버와만통신이이루어지게된다. 그렇기때문에반드시커널차원에서의 arp hidden patch 를시켜줘야한다. 121/401 페이지

122 DR 방식은패킷의데이터프레임부분의 MAC 주소만을변경하여패킷을포워딩하기때문에물리적인 세크먼트 ( 같은 subnet ) 안에서만동작이가능하다. DR 방식의 arp 문제해결방법에대해서는실제 DR 구축문서를참조하길바란다 IP Tunneling 에의한부하분산방식 IP 터너링은 IP 화된정보 (IP datagram) 안에 IP 화된정보를감싸넣는 (encapsulate) 기술이다. 리눅스 커널에서지원하고이를이용하여보다 WAN 을대상으로작업서버노드를구성할수있게된다. 실제가상 IP 주소로향하는요구패키이부하분산서버로전달되면부하분산서버에서패킷의목적지주소와포트를검사하여가상서버정책과일치하면스케줄링에따라실제작업서버로전달하게된다. 이때패킷을일반적인스트링방식으로전달하는것이아닌캣슐형식으로싸서전달하게된다. 이리전달되면작업서버에서는감싸진패킷을다시풀고요청을처리한다음실제서버의라우팅테이블에따라사용자에게직접결과를돌려주는방식이다. IP 터너링방식은 DR 방식의물리적인세그먼트의영향을받지않고어디든지작업을분산할수있는 장점이있다. 그래서거의무한한확장성을가지게된다. 하지만모든서버가 IP 터널링전송규약을 지원해야하기에지원하지못하는 OS 에서는문제가발생하게된다 작업활당방식 ( Scheduling Algorithms ) 클러스터로부터서버를선택하기위한네개의작업할당방식들 (scheduling algorithms) 이준비되어있다 : Round-Robin, 가중치가있는 (weighted) Round-Robin, 최소 - 접속 (Least-Connection) 그리고가중치가있는 최소 - 접속의방식들이다. 처음의두방식들은서버에대한어떠한부하정보 (load information) 도가지고 122/401 페이지

123 있지않기때문에자명 (self-explanatory) 하다. 뒤의두방식들은각서버에대한활동접속수 (active connection number) 를세어이러한접속수에의해그들의부하를추정한다 Round-Robin Scheduling ( 라운드로빈스케쥴링 ) 말그대로라운드-로빈방식을이용해네트웍연결을서로다른서버에연결하는것을말한다. 이경우실제서버의연결갯수나반응시간등은고려를하지않는다. 그렇지만약간의차이가있다. 라운드로빈 DNS 는단일한도메인을서로다른 IP 로해석을하지만, 스케쥴링의기초는호스트기반이며캐싱때문에알고리즘을효율적으로사용하기힘들다. 그래서실제서버사이에동적인부하불균형이심각해질수있다. 가상서버의스케쥴링기초는네트웍기반이며라운드로빈 DNS 에비해훨씬더훌륭하다 Weighted Round-Robin Scheduling ( 가중치기반라운드로빈스케쥴링 ) 가중치기반라운드로빈스케쥴링은실제서버에서로다른처리용량을지정할수있다. 각서버에가중치를부여할수있으며, 여기서지정한정수값을통해처리용량을정한다. 기본가중치는 1 이다. 예를들어실제서버가 A,B,C 이고각각의가중치가 4,3,2 일경우스케쥴링순서는 ABCABCABA 가된다. 가중치가있는라운드로빈스케쥴링을사용하면실제서버에서네트웍접속을셀필요가없고동적스케쥴링알고리즘보다스케쥴링의과부하가적으므로더많은실제서버를운영할수있다. 그러나요청에대한부하가매우많을경우실제서버사이에동적인부하불균형상태가생길수있다. 라운드로빈스케쥴링은가중치기반라운드로빈스케쥴링의특별한한종류이며모든가중치가동일한경우이다. 가상서버의규칙을변경하고나서스케쥴링순서를생성하는데는거의과부하가걸리지않으며실제스케쥴링에어떠한과부하도추가하지않는다. 그러므로라운드로빈스케쥴링만단독으로실행하는것은불필요한일이다. 123/401 페이지

124 Least-Connection Scheduling ( 최소접속스케쥴링 ) 최소접속스케쥴링은가장접속이적은서버로요청을직접연결하는방식을말한다. 각서버에서동적으로실제접속한숫자를세어야하므로동적인스케쥴링알고리즘중의하나이다. 비슷한성능의서버로구성된가상서버는아주큰요구가한서버로만집중되지않기때문에, 접속부하가매우큰경우에도아주효과적으로분산을한다. 가장빠른서버에서더많은네트웍접속을처리할수있다. 그러므로다양한처리용랑을지닌서버로구성했을경우에도훌륭하게작동한다는것을한눈에알수있을것이다. 그렇지만실제로는 TCP 의 TIME_WAIT 상태때문에아주좋은성능을낼수는없다. TCP 의 TIME_WAIT 는보통 2 분이다. 그런데접속자가아주많은웹사이트는 2 분동안에몇천개의접속을처리해야할경우가있다. 서버 A 는서버 B 보다처리용량이두배일경우서버 A 는수천개의요청을처리하고 TCP 의 TIME_WAIT 상황에직면하게된다. 그렇지만서버 B 는몇천개의요청이처리되기만을기다리게된다. 그래서최소접속스케쥴링을이용할경우다양한처리용량을지난서버로구성되었을경우부하분산이효율적으로되지못할수있는것이다 Weighted Least-Connection Scheduling ( 가중치기반최소접속스케쥴링 ) 가중치기반최소접속스케쥴링은최소접속스케쥴링의한부분으로서각각의실제서버에성능가중치를부여할수있다. 언제라도가중치가높은서버에서더많은요청을받을수있다. 가상서버의관리자는각각의실제서버에가중치를부여할수있다. 가중치의비율인실제접속자수에따라네트웍접속이할당된다. 기본가중치는 1 이다. 가중치가있는최소접속스케쥴링은다음과같이작동한다 : n 개의실제서버가있는경우각서버 i 는가중치 Wi (i = 1,..., n) 를가진다고가정하자. 서버 i 의활동접속 (active connection) 은 Ci (i = 1,..., n) 이고모든 _ 접속은 Ci (i = 1,..., n) 의합이다. 서버 j 로가는넷트웍접속은아래와같다. (Cj/ALL_CONNECTIONS)/Wj = min { (Ci/ALL_CONNECTIONS)/Wi } (i=1,..,n) 124/401 페이지

125 이비교에서 ALL_CONNECTIONS 는상수이므로 Ci 를모든 _ 접속으로나눠줄필요가없다. 그러면다음과 갈이최적화될것이다. Cj/Wj = min { Ci/Wi } (i=1,..,n) 가중치가있는최소접속스케쥴링알고리즘은최소접속스케쥴링알고리즘에비해부가적인배분작업이 필요하다. 서버들이같은처리용량을가졌을때는작업할당의간접비용을최소화하기위해최소접속 스케쥴링과가중치가있는최소접속스케쥴링알고리즘둘다사용할수있다 고가용성 ( High Availability ) 중요한상업적응용분야가인터넷으로점점더많이옮아옴에따라가용성이높은서버들을제공하는것이점점더중요해지고있다. 클러스터화된시스템의장점중하나는하드웨어와소프트웨어의여유분이있다는것이다. 높은가용성은노드 (node) 나데몬 (deamon) 의장애들 (failures) 이나시스템의재구성 (reconfiguring) 을적절히감지해클러스터에남아있는노드로작업부하 (workload) 를이전하는것으로이룰수있다. 가상서버의높은가용성을현재 "mon" 과 "fake" 소프트웨어를사용해제공한다. "mon" 은넷트웍서비스가용성과서버노드를모니터할수있는범용자원모니터링시스템 (generalpurpose resource monitoring system) 이다. "fake" 는 ARP 속이기 (spoofing) 를사용해 IP 를이전하는소프트웨어다. 서버의장애극복 (failover) 은다음과같이제어한다 : 부하분산기 (load balancer) 에클러스터의서비스데몬들과서버노드들을모니터하기위한 "mon" 데몬이운영된다. 매 t 초마다서버노드들이살아있는지감지하도록 fping.monitor 를구성하고매 m 분마다모든노드의서비스데몬들을감지하기위해연관된모니터프로그램역시구성한다. 예를들어 http 서비스를점검하기위해 http.monitor 를, ftp 서비스를위해 ftp.monitor 를또, 기타다른모니터프로그램을사용할수있다. 서버노드나데몬이새로사용불능상태 (down) 가되거나사용가능상태 (up) 가되면가상서버테이블에규칙을제거하거나 125/401 페이지

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이 Local Backup 지침 < 로컬백업지침 ver 1.0> 아래의로컬백업지침은원격백업지침의기초가됩니다. 1. 준비사항 1) 운영중인하드디스크와는별도로백업하려는 Data 용량의최소 4 배이상되는하드디스크를준비한다. 2) 백업하드디스크의용량이남을지라도백업용도외에는사용하지않는다. 3) 백업하려는데이타항목을선정하여, 백업디렉토리를트리구조화한다. 2. 백업방법 1)

More information

INDEX 1. 개요 데이터백업스크립트작성 crontab 을이용한자동백업예약 활용 - 다른서버에백업하기

INDEX 1. 개요 데이터백업스크립트작성 crontab 을이용한자동백업예약 활용 - 다른서버에백업하기 Linux Server - Data Backup - Copyright @ 2011 Good Internet 소 속 IDC실 이 름 정명구매니저 E-mail tech@tongkni.co.kr - 1 - INDEX 1. 개요... 3 2. 데이터백업스크립트작성.... 4 3. crontab 을이용한자동백업예약.... 7 4. 활용 - 다른서버에백업하기.... 10-2

More information

문서 대제목

문서 대제목 Linux OS Backup 교육자료 v1.1 2013. 12. 27. 이스턴네트웍스 기술지원팀전흥수 목차 1. Linux OS Backup & Cloning Layout 2. Solution Install & Configuration 3. Recovery Procedure 4. Reference Site - 1 - 1. Linux OS Backup / Cloning

More information

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf Snort Install Manual Ad2m VMware libnet-1.1.5.tar.gz DebianOS libpcap-1.1.1.tar.gz Putty snort-2.8.6.tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconfig 명령어로현재 IP를확인해본다. 2) vi /etc/network/interfaces 네트워크설정파일에아래와같이설정을해준다.

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft Word - enterprise-linux-1-2.doc

Microsoft Word - enterprise-linux-1-2.doc 1. 실무환경을고려한엔터프라이즈 Linux 운영체제설치 1.4 운영체제기본보안설정 Linux 운영체제는 Open Source 기반운영체제입니다. Open Source 기반의운영체제라는조건이실제시스템운영측점에서장점이될수도있고, 단점이될수도있는데대표적인것이바로운영체제보안이라볼수있습니다. 운영체제의 Source code 가공개되어져있기에실제운영체제의보안취약점이크래커에게공개되는경우가있을수있다는것입니다.

More information

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder Embian efolder 설치가이드 efolder 시스템구성 efolder 설치순서 Installation commands 1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder

More information

Slide 1

Slide 1 Acronis TrueImage 사용법 효과적인백업 / 복구솔루션 설치가이드목차 1. ACRONIS TRUEIMAGE 설치하기 ----------------------------- 3 2. 백업및복구방법 -------------------------------------------------- 10 3. OS 부팅없이복구하기 ------------------------------------------

More information

Microsoft PowerPoint 통신 및 압축 명령어.ppt

Microsoft PowerPoint 통신 및 압축 명령어.ppt 컴퓨터특강 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 PING 원격지컴퓨터의상태 (accessible 여부 ) 를확인 $ ping host-name // alive or dead check $ ping s host-name // packet 송수신확인 Page 2 1 TELNET (1/4) telnet 은원격지에있는상대방컴퓨터에자신의컴퓨터를접속하여,

More information

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다. :: F.T.Z 복구매뉴얼 :: Redhat 9.0 설치 F.T.Z는 Redhat 9.0 리눅스운영체제를기반으로구성되어있습니다. Redhat 9.0은비교적낮은버전의배포본에속하는데, 이처럼낮은버전을이용하는이유는최신리눅스배포본들의경우 Buffer Overflow 등취약점공격에대한보안장치가뛰어나서초보들이쉽게공략하기힘들기때문입니다. 반면 Redhat 9.0은 Buffer

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 사용자계정관리 운영체제실습 목차 Ⅲ. 사용자계정관리 4.1 사용자계정관리 4.2 그룹관리 4.3 사용자계정관련파일 4.4 패스워드관리 4.5 사용자신분확인 4.1 사용자계정관리 사용자생성관련명령어 사용자생성 : useradd / adduser 사용자삭제 : userdel 사용자정보변경 : usermod 패스워드설정및변경 : passwd 그룹생성관련명령어 group

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

More information

<4D F736F F D20BDC7B9AB20B0FCB8AEC0DAB8A620C0A7C7D B8AEB4AABDBA20B1B8C3E020C7CFB1E22DB8F1C2F72E646F63>

<4D F736F F D20BDC7B9AB20B0FCB8AEC0DAB8A620C0A7C7D B8AEB4AABDBA20B1B8C3E020C7CFB1E22DB8F1C2F72E646F63> 실무관리자를위한 Linux Enterprise Server 개정 2 판 (2005 년제작 ) 서진우저 / alang@clunix.com 1/10 페이지 목차 1 장운영체제편 ( 실무환경을위한엔터프라이즈 Linux 운영체제구성하기 ) 1.1 설치전고려사항 - 파티션의의미와정책 - 최신하드웨어드라이브패치 1.2 Redhat Linux 운영체제설치 - 파티션정책

More information

작성자 : 기술지원부 김 삼 수

작성자 : 기술지원부 김 삼 수 작성자 : 기술지원부김삼수 qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. (

More information

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

1) 인증서만들기 ssl]# cat >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

1) 인증서만들기 ssl]# cat   >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키 Lighttpd ( 멀티도메인 ) SSL 인증서신규설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 1) 인증서만들기 [root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat

More information

<4D F736F F D E6320BFF8B0DD20B3D7C6AEBFF6C5A920B9E9BEF720BCADB9F620B1B8C3E020BDC7B9AB2E646F63>

<4D F736F F D E6320BFF8B0DD20B3D7C6AEBFF6C5A920B9E9BEF720BCADB9F620B1B8C3E020BDC7B9AB2E646F63> [ rsync 와 cron 을이용한원격네트워크백업서버구축실무 ] [01] 원격네트워크백업개론 [02] rsync? [03] rsync 특징 [04] 다운로드및설치 [05] 환경설정 [06] 백업수행 [07] Trouble Shooting [08] Mirroring 서버구축 [01] 원격네트워크백업개론서버관리자는백업으로부터시작하지않을까라고생각한다. 한대의서버만을관리한다면백업에그다지큰어려움이없지만,

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

Gentoo linux 설치기록

Gentoo linux 설치기록 GentooInstall Gentoo linux 1 Gentoo linux 11 12 121 122 123 13 131 Live CD 132 Network 133 Root ( ) 134 14 Mirror 141 chroot 142 Portage 143 144 Boot strap 145 System 146 147 fstab 148 Kernel 1481 Gentoo

More information

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) - 운영체제실습 사용자계정관리 2017. 6 표월성 wspyo74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 사용자계정관리 1. 사용자계정관리 2. 그룹관리 3. 사용자계정관련파일 4. 패스워드관리 5. 사용자신분확인 사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System)

More information

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail 8.13.4 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. sendmail, SPF

More information

KOREAIDC 100G 백업 서비스

KOREAIDC 100G 백업 서비스 KOREAIDC 100G 백업서비스 이용안내 KOREAIDC에서무료로제공되는백업서비스는고객님의데이터를좀더쉽게보관할수있도록 100Gbyte의용량을네트워크드라이브로 (SAMBA) 로제공해드리고있습니다서비스이용에문의사항은게시판또는전화로연락부탁드립니다 평일주간 : 1661-0900 / 주말및야간 : 010-6736-7774 서비스방법 리눅스사용자의경우기본연결방식은

More information

운영체제실습_명령어

운영체제실습_명령어 운영체제실습 리눅스네트워크기본개념및설정 서 기옥 Contents 네트워크용어정의 IP 주소 네트워크기본명령어 네트워크관리명령어 네트워크설정파일 telnet 서버설정 네트워크용어정의 네트워크 (Network) : 전자적으로데이터를주고받기위한목적으로연결된 2 개이상의컴퓨터시스템 IP 주소와 Ethernet 주소 IP 주소 : 네트워크에연결된시스템을구분하는소프트웨어적인주소

More information

2-11Àå

2-11Àå Chapter 11 script kiddies.... 24.., script kiddies..,... 215 1 TCP/IP., TCP/IP. IP IP..,. IP. TCP/IP TCP( UDP).. 0 65535.., IP, IP,,. (, ). 216 Chapter 11 IP. IP.... 1024 (0 1023 ).... A B. B IP, A. IP,

More information

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su Java Desktop System 2 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 817 7757 10 2004 9 Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A..,,.

More information

망고100 보드로 놀아보자-4

망고100 보드로 놀아보자-4 망고 100 보드로놀아보자 -4 Minicom,tftp,nfs 설정,vnc 설정 minicom 설정 Minicom 설정 >#yum install minicom >#ls /dev/ttyusb* ># minicom s Minicom 설정 Serial Device :/dev/ttyusb0 Baudrate:115200 Hardware Flow control: NO

More information

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. qmail, SPF 인증모듈설치

More information

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조 운영체제실습 소프트웨어관리 2016. 6 표월성 passwd74@naver.com cherub.sungkyul.ac.kr 목차 Ⅶ. 소프트웨어관리 1. 소스코드컴파일을이용한소프트웨어설치 2. RPM패키지를이용한소프트웨어설치 3. YUM패키지를이용한소프트웨어설치 4. APT패키지를이용한소프트웨어설치 5. Telnet서버설치 6. ssh서버 (openssh) 설치

More information

Microsoft Word - enterprise-linux-1-3.doc

Microsoft Word - enterprise-linux-1-3.doc 1. 실무환경을고려한엔터프라이즈 Linux 운영체제설치 1.5 엔터프라이즈 Linux Kernel 구성하기 1.5.1 Kernel 과시스템최적화 시스템 Kernel이란실제운영체제의핵심코어부분으로실제 OS 기능의대부분의역할을담당하는부분이다. 운영체제란컴퓨터하드웨어를사용자가어플리케이션을통해바로인식하여작업에사용할수없기때문에이런하드웨어자원을어플리케이션에서인식하여프로그램상에서사용할수있는중계역할을하는프로그램으로볼수있다.

More information

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix 2.7.1 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. postfix,

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

1 Live CD(USB) 란? 1.1 Live CD(USB) 란? LiveCD(USB) 란 CD( 또는 USB) 를하드디스크로인식하여해당매체를기반으로동작하는운영체제를말한다. 즉 CD에설치된운영체제이다. 이는자신의 PC의하드디스크에설치된내용은 CD에그대로복사하였다고생각

1 Live CD(USB) 란? 1.1 Live CD(USB) 란? LiveCD(USB) 란 CD( 또는 USB) 를하드디스크로인식하여해당매체를기반으로동작하는운영체제를말한다. 즉 CD에설치된운영체제이다. 이는자신의 PC의하드디스크에설치된내용은 CD에그대로복사하였다고생각 서버패키지 CD 개발 손춘호 sunshout@paran.com 목차 1 Live CD(USB) 란?... 2 1.1 Live CD(USB) 란?... 2 2 Live CD(USB) 만들기... 3 2.1 자신만의운영체제설치하기... 3 2.2 Live CD 만들기... 3 3 Live CD(USB) 굽기... 10 3.1 CD에굽기... 10 3.2 USB에굽기...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드] 리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual

More information

Microsoft PowerPoint - comp_prac_081223_2.pptx

Microsoft PowerPoint - comp_prac_081223_2.pptx Computer Programming Practice (2008 Winter) Practice 2 기본 Unix/Linux 명령어숙지 2008. 12. 23 Contents Linux commands Basic commands File and Directory User Data Filtering Process Etc Conclusion & Recommended

More information

Discrete Mathematics

Discrete Mathematics 컴퓨터특강 () 2005 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학 PING 원격지컴퓨터의상태 (accessible 여부 ) 를확인 $ ping host-name // alive or dead check $ ping s host-name // packet 송수신확인 Page 2 TELNET (1/4) telnet 은원격지에있는상대방컴퓨터에자신의컴퓨터를접속하여,

More information

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는 작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는 LILO 는이문제를해결했다고하는데 (lba32 옵션을사용하면된다고한다 ), 불행히도 BackTrack

More information

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여 100G 백업계정 서비스 이용안내 (주)스마일서브 가상화사업본부 클라우드 서비스팀 UPDATE 2011. 10. 20. 목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법...4 1.

More information

1) 인증서만들기 ssl]# cat >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

1) 인증서만들기 ssl]# cat   >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키 Lighttpd ( 단일도메인 ) SSL 인증서신규설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 1) 인증서만들기 [root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

슬라이드 1

슬라이드 1 UGENS SNC Techinical Report OEL6 + 12C RAC 사원최재정 UGENS SNC 목차 1. 12c 설치된곳에자료수집 2. SERVER DB 삭제 3. 12c grid 설치 4. oracle 12c 설치 5. 확인 2 Vi.bash_profile if [ -f ~/.bashrc ]; then. ~/.bashrc fi # User specific

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

- 2-2) ssh, rsh 포트를사용하는경우 inetd 나 xinetd 를수정하지않아도되고, /etc/rsyncd.conf 를만들어주지않아도됩니다 B. rsync 실행 rsync 서버설정이된것 : webserver1(www1.linuxone.co.kr) 라고하고, 그

- 2-2) ssh, rsh 포트를사용하는경우 inetd 나 xinetd 를수정하지않아도되고, /etc/rsyncd.conf 를만들어주지않아도됩니다 B. rsync 실행 rsync 서버설정이된것 : webserver1(www1.linuxone.co.kr) 라고하고, 그 - 1 - rsync 사용시 873 포트와 ssh 포트사용의차이? 873포트를쓴다는건받는쪽입장에서는 rsync 서버 (rsyncd, 873포트 ) 를띄워서받겠다는것이고. SSH를쓴다는건, 이전송하는부분을 ssh를통해서하는것입니다. ssh통해서하는것의이점은, 전송하는통신이 ssh의암호 / 압축등의장점을쓸수있다는장점이있습니다. 또 ssh key 인증을통한이점도있지요.

More information

DNS (Domain Name System) Build for RHEL4(x86) Writer : 이경호

DNS (Domain Name System) Build for RHEL4(x86) Writer : 이경호 DNS (Domain Name System) Build for RHEL4(x86) Writer : 이경호 목차 1. 시스템구성... - 2-1.1. 개요... - 2-1.1.1. 정의... - 2-1.1.2. 목적... - 2-1.1.3. 환경... - 2-2. 준비사항... - 3-2.1. 필수설치프로그램... - 3-2.2. DNS 서버구축을위한준비...

More information

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다. 1.1. 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 만별도로필요한경우도있어툴체인설치및설정에대해알아봅니다. 1.1.1. 툴체인설치 다음링크에서다운받을수있습니다.

More information

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [  사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [http://huikyun.tistory.com] 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Graphic mode 와 Text mode 중 Graphic mode 사용을위해

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Install the PDI on CentOS 2013.04 G L O B E P O I N T 1 Ⅰ linux 구성 II Pentaho Install 2013, Globepoint Inc. All Rights Reserved. 2 I. Linux 구성 2013, Globepoint Inc. All Rights Reserved. 3 IP 설정 1. 설정파일

More information

리눅스보안관리.PDF

리눅스보안관리.PDF CMOS Boot loader xlock, vlock Boot loader boot: linux single root /etc/lilo.conf restricted password=pickyourpassword /etc/lilo.conf /sbin/lilo Login timeout ~/.bashrc ~/.bash_profile TMOUT=nn Logout ~/.bash_logout

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터 운영체제실습 Raspbian 설치 2017. 3 표월성 wspyo74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 설치 1. 라즈비안 (Raspbian 설치 ) 2. 설치후, 설정 설정사항 Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로

More information

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52   /carrena/ VMware 에서 l VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 http://blog.naver.com /carrena/50163909320 VMware 에서 linux 설치하기 linux 는다양한버전이존재합니다. OS 자체가오픈소스이기때문에 redhat fedora, 우분투, centos 등등 100 가지가넘는버전이존재함

More information

Mango220 Android How to compile and Transfer image to Target

Mango220 Android How to compile and Transfer image to Target Mango220 Android How to compile and Transfer image to Target http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys

More information

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드] 운영체제실습 사용자계정관리 2016. 4 표월성 passwd74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 사용자계정관리 2. 그룹관리 3. 사용자계정관련파일 4. 패스워드관리 5. 사용자신분확인 사용자계정관리 사용자, 그룹 u Multi-User System( 다중사용자시스템 ) 리눅스 - 1대의시스템을동시에여러사람이접속하여쓸수있게하는시스템

More information

KISA-GD

KISA-GD KISA-GD-2011-0002 2011.9 1) RD(Recursive Desired) 플래그 : 리커시브네임서버로하여금재귀적 (recursive) 질의 ( 항목 1.3. 참고 ) 요청을표시함. RD 플레그값이 0 이면반복적 (iterative) 질의를요청 2) AA 플래그 : Authoritative Answer 의약자로써, 네임서버가해당응답데이터를자신이보유하고있는지유무를표시

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201 Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 02-512-9375 멀티및와일드인증서의경우포트번호를동일하게설정이가능하다. (https 통신으로 443 으로통일가능 ) 1. 발급받으신인증서를해당 SSL 폴더에업로드또는저장합니다. [root@localhost New]$ cp star.ucert.co.kr* /webtob/ssl

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

단계

단계 본문서에서는 Tibero RDBMS 에서제공하는 Oracle DB Link 를위한 gateway 설치및설정방법과 Oracle DB Link 사용법을소개한다. Contents 1. TIBERO TO ORACLE DB LINK 개요... 3 1.1. GATEWAY 란... 3 1.2. ORACLE GATEWAY... 3 1.3. GATEWAY 디렉터리구조...

More information

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc ABAQUS 클러스터환경구축문서 1. ABAQUS 설치및라이센스서버설치 작성일 : 2008년 9월 30일작성자 : 클루닉스 / 서진우 설치할서버의적절한위치에아바쿠스설치패키지를복사해둔다. (CD로설치시에는생략 ) 그런후 setup 명령을수행한다. Setup 명령을수행할때는반드시 setup 파일의절대경로를이용하여실행하는것을권장한다. Setup 파일이있는디렉토리안에서실행할경우에러를발생한다.

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Ubuntu 13.04 설치매뉴얼 작성일자 : 2013.05 cafe24 IDC 사업팀 설치이미지부팅 1. Ubuntu CD(DVD) 를넣고해당미디어로부팅을시킵니다. 2. 처음설치화면에서한국어를선택합니다. Ubuntu 설치 1. 우분투서버설치를선택합니다. 번역안내 1. 한국어설정에대한안내화면이출력됩니다. 아직은번역이완벽하지않다는내용임으로 무시하고 < 예 >

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 CentOS 6.x 설치매뉴얼 작성일자 : 2013.05 cafe24 IDC 사업팀 설치이미지부팅 1. CentOS CD(DVD) 를넣고해당미디어로부팅을시킵니다. 2. Install or upgrade an exitsing system 에서 키를눌러다음단계로진행합니다. 미디어테스트 1. 설치화면에진입하였습니다. 미디어 (CD/DVD) 테스트를하겠냐는메시지가출력됩니다.

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Microsoft PowerPoint - 03-Development-Environment-2.ppt 개발환경 2 임베디드시스템소프트웨어 I 차례 부트로더의기능, 컴파일방법 커널의기능, 컴파일방법 파일시스템의기능, 생성방법 Host-KIT 네트워크연결방법 (Bootp, TFTP, NFS) 개발환경 2 2 부트로더의기능 하드웨어초기화 CPU clock, Memory Timing, Interrupt, UART, GPIO 등을초기화 커널로드 커널이미지를 flash

More information

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수있다. 학습내용 1 : 현재디렉토리확인 1. 홈디렉토리 - 로그인을한후, 사용자가기본으로놓이게되는디렉토리위치를홈디렉토리 (home directory)

More information

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770>

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770> 2 강. 리눅스설치 리눅스설치전준비사항하드디스크에충분한디스크공간이있는지확인 리눅스와기존운영체제를함께설치가능두가지방법중선택 가상머신소프트웨어를이용하여설치 - 가상머신소프트웨어설치후가상머신에리눅스설치 하드디스크의비어있는파티션에설치 -기존운영체제에서사용하지않는파티션이있는지확인 -리눅스설치공간은기존의운영체제공간과구분됨 -부팅시운영체제를선택할수있음 가상머신소프트웨어를이용하여설치하는경우

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

OnTuneV3_Agent_Install

OnTuneV3_Agent_Install OnTune Agent 설치하기 - OnTune Manager Version 3.1.6-2010-06-21 TeemStone 순서 1. Installer 를이용한 agent 설치하기 2. Windows 서버에 agent 설치하기 3. 파일에대한설명 4. 시스템재부팅시자동실행되도록설정하기 5. 직접설치하기 6. 직접실행하기 7.. Agent 종료하기 8.. Agent

More information

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결 YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결해주어 RPM 패키지설치시자동적으로의존성문제를 처리하여 RPM 패키지를안전하게설치, 제거, 업그레이드등의작업을스스로하는도구 YUM 설정 (/etc/yum.conf) [main]

More information

Microsoft Word - enterprise-linux-2-1.doc

Microsoft Word - enterprise-linux-2-1.doc 2. 리눅스 Server 구축및실무운영 이단원에서는리눅스운영체제를이용하여실무에서주로사용되어지는시스템구축기술과운영기술에대해다루도록하겠습니다. 이단원에서소개되는기술의부분은실무구축기술에중점을두고있으며, 이론적인접근은최소화하고있습니다. 이론적인자세한설명은각분야별전문서적을참고하시길바랍니다. 2.1. DNS (Domain Name System) DNS (Domain Name

More information

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/2015 1. Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. 2. Installation 2.1. For Debian GNU/Linux 국내에서사용되는컴퓨터들의

More information

Network seminar.key

Network seminar.key Intro to Network .. 2 4 ( ) ( ). ?!? ~! This is ~ ( ) /,,,???? TCP/IP Application Layer Transfer Layer Internet Layer Data Link Layer Physical Layer OSI 7 TCP/IP Application Layer Transfer Layer 3 4 Network

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

목차 1. 사전준비 mod_ssl OpenSSL 인증서파일 2. 주의사항 신규및갱신구분 CSR 직접생성여부 3. 인증서설치 httpd.conf 설정 httpd-ssl.conf 설정 갱신설치 서비스재시작 4. 확인및테스트 서비스구동확인 네트워크상태확인 방화벽확인 실제브라

목차 1. 사전준비 mod_ssl OpenSSL 인증서파일 2. 주의사항 신규및갱신구분 CSR 직접생성여부 3. 인증서설치 httpd.conf 설정 httpd-ssl.conf 설정 갱신설치 서비스재시작 4. 확인및테스트 서비스구동확인 네트워크상태확인 방화벽확인 실제브라 APACHE INSTALL GUIDE 1.3.X VERSION -ANYCERT- 목차 1. 사전준비 mod_ssl OpenSSL 인증서파일 2. 주의사항 신규및갱신구분 CSR 직접생성여부 3. 인증서설치 httpd.conf 설정 httpd-ssl.conf 설정 갱신설치 서비스재시작 4. 확인및테스트 서비스구동확인 네트워크상태확인 방화벽확인 실제브라우저테스트

More information

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3Rabbitz Book 애플리케이션파일다운로드하여압축파일을풀고복사합니다. 3. 3Rabbitz Book 실행합니다.

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

Microsoft Word - release note-VRRP_Korean.doc

Microsoft Word - release note-VRRP_Korean.doc VRRP (Virtual Router Redundancy Protocol) 기능추가 Category S/W Release Version Date General 7.01 22 Dec. 2003 Function Description VRRP 는여러대의라우터를그룹으로묶어하나의가상 IP 어드레스를부여해마스터로지정된라우터장애시 VRRP 그룹내의백업라우터가마스터로자동전환되는프로토콜입니다.

More information

Microsoft Word _LT_리눅스 마운트강좌 mount 1편.doc

Microsoft Word _LT_리눅스 마운트강좌 mount  1편.doc 리눅스마운트강좌 mount 편 ---------------- 목차 ----------------------- 1 : 마운트 (mount) 란무엇을의미하며왜사용하는가? 그, 실질적인의미 2 : 리눅스에장착된 CD-ROM 데이터사용하기실무 3 : 실제로마운트하지않고마운트가능여부만을확인하기 4 : 특정파일시스템을읽기만가능하도록마운트하기 ( 쓰기금지마운트 ) 5 :

More information

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase startup-config Erasing the nvram filesystem will remove all configuration files Continue? [confirm] ( 엔터 ) [OK] Erase

More information

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL:   E-M Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: http://www.olivetech.co.kr E-Mail: tech@olivetech.co.kr TEL: 031-726-4217 FAX: 031-726-4219

More information

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수 사용 설명서 TeraStation Pro II TS-HTGL/R5 패키지 내용물: 본체 (TeraStation) 이더넷 케이블 전원 케이블 TeraNavigator 설치 CD 사용 설명서 (이 설명서) 제품 보증서 www.buffalotech.com 소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를

More information

/chroot/lib/ /chroot/etc/

/chroot/lib/ /chroot/etc/ 구축 환경 VirtualBox - Fedora 15 (kernel : 2.6.40.4-5.fc15.i686.PAE) 작동 원리 chroot유저 ssh 접속 -> 접속유저의 홈디렉토리 밑.ssh의 rc 파일 실행 -> daemonstart실행 -> daemon 작동 -> 접속 유저만의 Jail 디렉토리 생성 -> 접속 유저의.bashrc 의 chroot 명령어

More information

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 2010. 10. 21. 최초작성 by 김정현 2010. 10. 24. 스크립트추가, 설명보충 by 유형목 1. VritualBox 설정 Windows 환경에서 VirtualBox 를설치한다음게스트 OS 로우분투리눅스를사용하는경우,

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용 Oracle hacking 작성자 : 임동현 (ddongsbrk@naver.com) 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용 Skill List 1. Oracle For Pentest 1. Find TNS Listener (Default 1521 port) (with nmap or amap) 2. Get the

More information

Sun Java System Messaging Server 63 64

Sun Java System Messaging Server 63 64 Sun Java System Messaging Server 6.3 64 Sun Java TM System Communications Suite Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 820 2868 2007 7 Copyright 2007 Sun Microsystems,

More information

KOREAIDC 100G 백업 서비스

KOREAIDC 100G 백업 서비스 KOREAIDC 100G 백업서비스 이용안내 KOREAIDC에서무료로제공되는백업서비스는고객님의데이터를좀더쉽게보관할수있도록 100Gbyte의용량을네트워크드라이브로 (SAMBA) 로제공해드리고있습니다서비스이용에문의사항은게시판또는전화로연락부탁드립니다 평일주간 : 1661-0900 / 주말및야간 : 010-6736-7774 서비스방법 윈도우사용자의경우기본연결방식은네트워크드라이브를이용하여서비스를제공합니다

More information

벤처연구사업(전동휠체어) 평가

벤처연구사업(전동휠체어) 평가 운영체제실습 리눅스기본명령어 2019. 4 표월성 wspyo74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 기본명령어 1. 시스템정보 2. 파일및디렉토리명령어 시스템정보 1. 시스템정보출력 시스템정보출력 uname - 시스템정보출력 파일및디렉토리관련 명령어 파일및디렉토리 파일 (File) - 데이터를저장하기위해사용되는객체 ( 텍스트파일,

More information