강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

■ 2. Fedora Core 3 설치후 기본 설정

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문



▒ 2. Fedora Core 3 설치후 기본 설정



본 강좌는 리눅스를 서버용도에 맞게 설치하여 서비스 하기위한 연재 강좌입니다. 앞의 강좌를 한번쯤 읽어 보시기 바랍니다.
리눅스 배포판인 Fedora Core 3(이하 FC3)를 설치하셨다면, 사용에 편리하게 몇가지 바꾸어 주어야 합니다. 항목 하나 하나 따져 보시구 해당되는 것은 설정 하시기 바랍니다.

  1. 업데이트
    먼저 업데이트를 합니다. 예전 버전의 리눅스는 up2date 등의 프로그램을 지원했습니다. FC 시리즈에서는 업데이트 도구인 yum을 기본 지원 합니다. yum 으로 최신 패키지로 업데이트 합니다.

    - 먼저 패키지 설치를 위해 공개키를 받아와서 import 합니다.
    wget http://ftp.kreonet.re.kr/pub/Linux/fedora/core/3/i386/os/RPM-GPG-KEY
    wget http://ftp.kreonet.re.kr/pub/Linux/fedora/core/3/i386/os/RPM-GPG-KEY-fedora
    이렇게 받아왔다면,
    rpm --import RPM-GPG-KEY
    rpm --import RPM-GPG-KEY-fedora
    공개키를 import 합니다.
    그런다음, 다음 명령어로 업데이트를 수행합니다.
    yum -y update

    
     yum update Setting up Update Process
    Setting up Repo:  base
    repomd.xml                100% |=========================| 1.1 kB    00:00
    Setting up Repo:  updates-released
    repomd.xml                100% |=========================|  951 B    00:00
    Reading repository metadata in from local files
    primary.xml.gz            100% |=========================| 797 kB    00:04
    MD Read   : ################################################## 2623/2623
    base      : ################################################## 2622/2622
    primary.xml.gz            100% |=========================| 342 kB    00:03
    MD Read   : ################################################## 910/910
    updates-re: ################################################## 910/910
    Resolving Dependencies
    --> Populating transaction set with selected packages. Please wait.
    ---> Downloading header for tar to pack into transaction set.
    tar-1.14-5.FC3.i386.rpm   100% |=========================|  12 kB    00:00
    ---> Package tar.i386 0:1.14-5.FC3 set to be updated
    ---> Downloading header for libtool-libs to pack into transaction set.
    libtool-libs-1.5.6-4.FC3. 100% |=========================|  11 kB    00:00
    ---> Package libtool-libs.i386 0:1.5.6-4.FC3.2 set to be updated
    ---> Downloading header for emacs-leim to pack into transaction set.
    emacs-leim-21.3-21.FC3.i3 100% |=========================|  30 kB    00:01
    ---> Package emacs-leim.i386 0:21.3-21.FC3 set to be updated
    ---> Downloading header for bind to pack into transaction set.
    bind-9.2.5-3.i386.rpm     100% |=========================|  36 kB    00:00
    ---> Package bind.i386 24:9.2.5-3 set to be updated
    ---> Downloading header for emacs to pack into transaction set.
    emacs-21.3-21.FC3.i386.rp 100% |=========================|  27 kB    00:00
    
    
    	................... 중략  ......................
    
    
      Update: yum.noarch 0:2.2.2-0.fc3
      Update: zip.i386 0:2.3-26.3
      Update: zlib.i386 0:1.2.1.2-3.fc3
      Update: zlib-devel.i386 0:1.2.1.2-3.fc3
    
    Performing the following to resolve dependencies:
      Install: desktop-file-utils.i386 0:0.9-2
      Install: fonts-xorg-75dpi.noarch 0:6.8.2-0.FC3.1
      Install: libidn-devel.i386 0:0.5.6-1
    Is this ok [y/N]: 
    Downloading Packages:
    tar-1.14-5.FC3.i386.rpm   100% |=========================| 331 kB    00:02
    libtool-libs-1.5.6-4.FC3. 100% |=========================|  23 kB    00:01
    
    
    	................... 중략  ......................
    
    Completing update for nfs-utils  - 334/336
    Completing update for krb5-workstation  - 335/336
    Completing update for libgnomeui  - 336/336
    
    Installed: kernel.i686 0:2.6.12-1.1381_FC3
    Dependency Installed: desktop-file-utils.i386 0:0.9-2 fonts-xorg-75dpi.noarch 0:6.8.2-0.
    FC3.1 libidn-devel.i386 0:0.5.6-1
    Updated: NetworkManager.i386 0:0.3.4-1.1.0.fc3 alsa-lib.i386 0:1.0.6-8.FC3 at.i386 0:3.
    1.8-70_FC3 autofs.i386 1:4.1.3-114 bash.i386 0:3.0-18 bind.i386 24:9.2.5-3 bind-chroot.
    i386 24:9.2.5-3 bind-libs.i386 24:9.2.5-3 bind-utils.i386 24:9.2.5-3 binutils.i386 0:2.15.92
    .0.2-5.1 boost.i386 0:1.32.0-5.fc3 boost-devel.i386 0:1.32.0-5.fc3 bzip2.i386 0:1.0.2-13.F
    C3.1 bzip2-devel.i386 0:1.0.2-13.FC3.1 bzip2-libs.i386 0:1.0.2-13.FC3.1 caching-name
    server.noarch 0:7.3-4.FC3 checkpolicy.i386 0:1.17.5-1.2 cpp.i386 0:3.4.4-2.fc3 cups.i3
    86 1:1.1.22-0.rc1.8.9 cups-libs.i386 1:1.1.22-0.rc1.8.9 curl.i386 0:7.12.3-6.fc3 curl-deve
    l.i386 0:7.12.3-6.fc3 cvs.i386 0:1.11.17-7.FC3 dbus.i386 0:0.22-10.FC3.2 dbus-devel.i38
    6 0:0.22-10.FC3.2 dbus-glib.i386 0:0.22-10.FC3.2 dhclient.i386 7:3.0.1-44_FC3 dhcpv6_
    client.i386 0:0.10-14_FC3 diskdumputils.i386 0:1.1.7-3 dmraid.i386 0:1.0.0.rc8-FC3_2 dov
    ecot.i386 0:0.99.13-3.FC3 doxygen.i386 1:1.4.4-0.fc3.1 dump.i386 0:0.4b39-1.FC3 e2fspr
    ogs.i386 0:1.38-0.FC3.1 e2fsprogs-devel.i386 0:1.38-0.FC3.1 eject.i386 0:2.1.1-0.fc3.2 
    emacs.i386 0:21.3-21.FC3 emacs-common.i386 0:21.3-21.FC3 emacs-leim.i386 0:21.3-2
    1.FC3 file.i386 0:4.12-1.FC3.1 gamin.i386 0:0.1.1-3.FC3 gcc.i386 0:3.4.4-2.fc3 gcc-c++.i
    386 0:3.4.4-2.fc3 gcc-g77.i386 0:3.4.4-2.fc3 gcc-java.i386 0:3.4.4-2.fc3 gdb.i386 0:6.1po
    st-1.20040607.43.0.1 glib2.i386 0:2.4.8-1.fc3 glibc.i686 0:2.3.6-0.fc3.1 glibc-common.i386
     0:2.3.6-0.fc3.1 glibc-devel.i386 0:2.3.6-0.fc3.1 glibc-headers.i386 0:2.3.6-0.fc3.1 gnupg
    .i386 0:1.2.7-1 grep.i386 0:2.5.1-31.4 gtk2.i386 0:2.4.14-4.fc3.3 gzip.i386 0:1.3.3-15.fc3 h
    al.i386 0:0.4.7-1.FC3 hotplug.i386 3:2004_04_01-8.1 hwdata.noarch 0:0.146.1-1 iiimf-csc
    onv.i386 1:12.1-10.FC3.1 iiimf-docs.i386 1:12.1-10.FC3.1 iiimf-le-hangul.i386 1:12.1-10.F
    C3.1 iiimf-libs.i386 1:12.1-10.FC3.1 iiimf-server.i386 1:12.1-10.FC3.1 info.i386 0:4.8-2.2 i
    nitscripts.i386 0:7.93.7-1 ipsec-tools.i386 0:0.5-2.fc3 iptables.i386 0:1.2.11-3.1.FC3 jwh
    ois.i386 0:3.2.2-6.FC3.1 kernel-utils.i386 1:2.4-13.1.49_FC3 krb5-devel.i386 0:1.3.6-7 kr
    b5-libs.i386 0:1.3.6-7 krb5-workstation.i386 0:1.3.6-7 less.i386 0:394-1.fc3 libf2c.i386 0:
    3.4.4-2.fc3 libgcc.i386 0:3.4.4-2.fc3 libgcj.i386 0:3.4.4-2.fc3 libgcj-devel.i386 0:3.4.4-2.f
    c3 libgnomeui.i386 0:2.8.0-2 libpcap.i386 14:0.8.3-9.FC3 libpng.i386 2:1.2.8-1.fc3 libseli
    nux.i386 0:1.19.1-8 libselinux-devel.i386 0:1.19.1-8 libstdc++.i386 0:3.4.4-2.fc3 libstdc++
    -devel.i386 0:3.4.4-2.fc3 libtiff.i386 0:3.6.1-10.fc3 libtool.i386 0:1.5.6-4.FC3.2 libtool-libs.i
    386 0:1.5.6-4.FC3.2 libungif.i386 0:4.1.3-1.fc3.2 libxml2.i386 0:2.6.16-3 libxml2-devel.i386
    3 lsof.i386 0:4.72-2.2 man.i386 0:1.5o1-7 mgetty.i386 0:1.1.31-4_FC3 mkinitrd.i386 0:4.1.1
    8.1-1 mysql.i386 0:3.23.58-16.FC3.1 net-tools.i386 0:1.60-37.FC3.1 nfs-utils.i386 0:1.0.6
    -52 nscd.i386 0:2.3.6-0.fc3.1 openldap.i386 0:2.2.29-1.FC3 openldap-devel.i386 0:2.2.2
    9-1.FC3 openssh.i386 0:3.9p1-8.0.3 openssh-clients.i386 0:3.9p1-8.0.3 openssh-server
    .i386 0:3.9p1-8.0.3 openssl.i686 0:0.9.7a-42.2 openssl-devel.i386 0:0.9.7a-42.2 pam.i38
    6 0:0.77-66.2.13 pam-devel.i386 0:0.77-66.2.13 pcmcia-cs.i386 0:3.2.7-2.2 pcre.i386 0:4
    .5-3.1.1.fc3 perl.i386 3:5.8.5-24.FC3 perl-DBI.i386 0:1.40-6.fc3 policycoreutils.i386 0:1.1
    8.1-2.12 postgresql-libs.i386 0:7.4.11-1.FC3.1 prelink.i386 0:0.3.3-0.fc3 procps.i386 0:3.
    2.3-5.3 pyOpenSSL.i386 0:0.6-1.p23.1.fc3 pygtk2.i386 0:2.4.1-fc3.1 pygtk2-libglade.i386 
    0:2.4.1-fc3.1 python.i386 0:2.3.4-13.1 python-devel.i386 0:2.3.4-13.1 qt.i386 1:3.3.4-0.fc3
    .0 redhat-menus.noarch 0:3.7.1-1.fc3 rhpl.i386 0:0.148.1-2 rmt.i386 0:0.4b39-1.FC3 rp-pp
    poe.i386 0:3.5-22.1 rsh.i386 0:0.17-24.1 selinux-policy-targeted.noarch 0:1.17.30-3.19 s
    hadow-utils.i386 2:4.0.3-56 slang.i386 0:1.4.9-13 slang-devel.i386 0:1.4.9-13 slocate.i3
    86 0:2.7-12.fc3.1 spamassassin.i386 0:3.0.4-2.fc3 sudo.i386 0:1.6.7p5-30.3 sysklogd.i3
    86 0:1.4.1-26_FC3 sysreport.noarch 0:1.3.13-2 system-config-securitylevel-tui.i386 0:1.
    4.18-2 tar.i386 0:1.14-5.FC3 tcpdump.i386 14:3.8.2-9.FC3 tcsh.i386 0:6.13-10.FC3.1 teln
    et.i386 1:0.17-32.FC3.2 termcap.noarch 1:5.4-4fc3 texinfo.i386 0:4.8-2.2 ttmkfdir.i386 0:3.
    0.9-14.1 tzdata.noarch 0:2005r-3.fc3 udev.i386 0:039-10.FC3.8 unzip.i386 0:5.51-4.fc3 ut
    il-linux.i386 0:2.12a-24.5 vim-common.i386 1:6.3.086-0.fc3.1 vim-enhanced.i386 1:6.3.08
    6-0.fc3.1 vim-minimal.i386 1:6.3.086-0.fc3.1 vixie-cron.i386 4:4.1-36.FC3 wget.i386 0:1.1
    0.2-0.fc3 wireless-tools.i386 1:27-2.2.0.fc3 words.noarch 0:3.0-2.3 xorg-x11-Mesa-lib
    GL.i386 0:6.8.2-1.FC3.45.2 xorg-x11-font-utils.i386 0:6.8.2-1.FC3.45.2 xorg-x11-libs.i386
     0:6.8.2-1.FC3.45.2 xorg-x11-xfs.i386 0:6.8.2-1.FC3.45.2 yum.noarch 0:2.2.2-0.fc3 zip.i38
    6 0:2.3-26.3 zlib.i386 0:1.2.1.2-3.fc3 zlib-devel.i386 0:1.2.1.2-3.fc3
    Complete!
    

    위와같은 결과가 나왔다면, 커널 및 대부분의 패키지들이 업그래이드 됩니다.
    업데이트 후 리부팅을 한번 합니다.
  2. ssh 접속 환경에서 한글이 깨어진다면?
    대부분 SSH 클라이언트는 한국어 언어셋을, EUC_KR이 기본입니다. 기본 언어셋을 UTF-8으로 바꾸던지 아니면, 아래와 같이 서버의 언어셋을 EUC_KR으로 변경하는 방법이 있습니다.
    /etc/sysconfig/i18n 파일에서 LANG="ko_KR.UTF-8"

    LANG="ko_KR.EUC-KR"
    와 같이 변경합니다.

  3. 언어셋 EUC_KR 상태에서 man 페이지 한글이 깨어진다면?
    이런 경우는 다음과 같이 하므로 깨어지는 것을 막을 수 있습니다.
    echo 'export LESSCHARSET=utf-8' >> /etc/profile
    source /etc/profile

  4. tcp_wapper 설정으로 기본 보안 설정
    tcpd를 및 xinetd를 사용하는 데몬들중 허용하는 ip에서만 접근 가능하게 설정 할 것입니다.

    echo "ALL:ALL" >> /etc/hosts.deny

    이런 간단한 명령어로 모든 서비스를 막습니다. 물론 모든 서비스는 tcpd 및 xinetd를 사용하는 서비스 입니다.
    그런다음 항상 허용할 데몬들과 허용할 ip를 등록합니다.

    echo " ipop3d : ALL
    sendmail : ALL
    ALL : 192.168.0." >> /etc/hosts.allow

    위 와 같이 입력하여, pop3 서버와 sendmail 은 모든 ip에 대해서 허용하고, 192.168.0.XXX에서 접근 하면 모든 서비스를 허용하도록 합니다. 위와 같이 설정하는 것은 telnet 및 ssh에 가장 영향을 많이 받기 때문에 기본 보안설정으로 사용합니다. 만약 유동 ip에서 접속한다면 이런 설정이 무의미 합니다.( ip가 변해서 잘못하면 서버에 접속하지 못하는 불상사가 발생할 수도 있습니다. )
    요즘 ssh 접속 무작위 공격이 있으니, 꼭 고려해 보시기 바랍니다.

  5. ssh 접속시 root 접속 못하게 설정
    ssh에서 root로 바로 접속해서 사용하면 너무 위험합니다. 그래서 일반계정으로 접속한 다음 su - 명령어로 root 권한을 획득한 다음 작업하는 것이 좋습니다. 다음과 같이 간단하게 설정가능합니다.
    /etc/ssh/sshd_config 파일을 편집해서 다음과 같이 설정합니다.
    PermitRootLogin no
    이렇게 하구 sshd를 재시작합니다.
    /etc/rc.d/init.d/sshd restart

  6. su 명령어 특정 사용자만 실행 가능하게 설정
    우선 root 권한으로 명령을 실행할 수 있는 명령어 sudo를 삭제합니다
    [root@doly bin]# rm -rf /usr/bin/sudo
    아래와같이 권한 설정을 바꾸고,
    chmod 4750 /bin/su
    chown root:wheel /bin/su
    소유그룹을 wheel로 한다. 그런 다음
    /etc/group 파일을 열어 wheel 그룹에 su 명령어를 쓸 사용자들을 등록합니다.
    (예 : wheel:x:10:root,doly)

  7. SSU설치(서버점검, 자동백업, 자동 시간설정 및 서버 관리 유틸리티)설치
    이렇게 설정을 하였다면,
    서버 점검, 백업등의 목적을 위해 SSU(Superuser Server manager Utility)를 설치합니다.
    SSU는 상세한 서버 점검 및 각종유틸리티(도메인자동설정, DB자동설정, 메이 자동 설정, 가상호스트 추가, 계정 자동추가)가 있습니다.
    본 프로그램의 샘플은 다음 을 참조하시고,
    관련 자료는 여기를 참조하세요.

  8. 마치며...
    서버 설치후에 손봐야 할 것이 한 두가지가 아닙니다.하지만 최소한으로 설정이 필요한 것을 본 강좌에 다루었습니다. 꼭 백업은 하셔서 커다란 장애를 대비하시기 바랍니다
    본 강좌에는 많은 정보를 내포하지 않았습니다. 왜냐하면, 초보자 분들을 위해서 작성한 강좌이기 때문입니다. 중간 중간 의문나는 점은 게시판을 통해서 질문 하시기 바랍니다. 그리고 본 강좌의 개선점이나, 수정 사항이 있으면, doly 골뱅이 superuser.co.kr 으로 메일 한통 주시면, 감사하겠습니다.
    꾸벅

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,156 명
  • 현재 강좌수 :  36,513 개
  • 현재 접속자 :  266 명