OS

  • Q. 외부 클라이언트에서 현재 사용중인 Linux 서버로 Ping을 요청 했을때 외부 클라이언트에 Ping응답을 하지 않게 하는 방법은 없나요

    A.

    - 다음 옵션 명령어 실행으로 간단히 처리 가능 합니다.
    # echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
    Ping 차단
    # echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
    Ping 허용

    * 시스템이 재부팅이 되어도 적용 하는법.
    #vi /etc/sysctl.conf
    마지막 줄에 net.ipv4.icmp_echo_ignore_all = 1 항목을 추가 하게 되면 시스템이 재부팅 하여도 해당 옵션 적용가능합니다.

  • Q. Subscription Number은 무엇인가요..

    A.

    Subscription Number은 Red Hat Enterprise Linux(이하 RHEL)를 정식 구매한 고객에게 발급되는 키입니다.

    Subscription Number가 있어야만 Red hat Network(이하 RHN)에 등록가능하며, 정식 사용자가 됩니다.

    RHN에 Subscription Number을 등록 하셔야만 패키지 업데이트, 에라타 정보, ISO 다운로드, 서버 관리가 가능하며, Red Hat의 정식 Distribute인 다우기술 및 ABP사인 rockPLACE에서 전화, e-mail 지원을 받으실 수 있습니다.

    Subscription Number은 기본적으로 1년(365일)을 지원하며, 경우에 따라서는 3년을 지원 하는 제품도 있습니다.

    RHEL v5에서는 Subscription Number을 등록하시면 Install Number을 RHN상에서 받을 수 있습니다.
    RHEL v5에서는 Install Number로서 패키지 선택이 달라질수 있습니다.
    - RHEL Server 제품과 클러스터와 GFS를 지원하는 RHEL AP(Advanced Platform)제품으로 나눌 수 있습니다.

    정식적인 제품을 등록하시어 Red Hat의 기술지원을 받으시기 바랍니다.

  • Q. 리눅스 시간 맞추기 #1 (Time-stream Service)

    A.

    리눅스 시스템에서 시간동기화 하는 방법입니다.

    외부에 ntp 서버와 연동이 되지 않거나 ntp를 사용하지 않을 경우.

    하나의 Master 머신에 시간을 설정후 rdate 명령어로 시간을 동기화 하는 방법입니다.

    1. /etc/xintd.d/time-stream 파일 수정.

    # This is the configuration for the tcp/stream time service.

    service time
    {
    # This is for quick on or off of the service
    disable         = yes    :  no로 변경(활성화)

    # The next attributes are mandatory for all services
    id              = time-stream
    type            = INTERNAL
    wait            = no
    socket_type     = stream
    #       protocol        =  socket type is usually enough

    …..

    위와 같이 변경하신 후

    # service xinetd restart

    2. 다른 서버에서 확인.

    - 현재 시간 확인.
    # date

    -시간동기화
    # rdate -s <time-stream-server-ip>

    -동기화된 시간 확인.
    # date

    -현재시간을 기준으로 하드웨어 시간 동기화
    # hwclock -w

    ***
    시간을 변경하시더라도 잠시후 시간이 다르게 변경될 수 있습니다.

    - CLI mode
    /etc/sysconfig/clock 내용에서 UTC 설정 여부 확인.


    UTC=false             : true이면 false로 변경.

    - GUI modeㄱ
    # system-config-date
    날짜/시간 등록정보=>시간대탭=>시스템의 시간을 UTC에 맞춤(S) 체크박스 해제

    ***참고***

    UTC
    초(국제단위계)를 기초로 하는 시간으로써,국제전파자문위원회가 정의하고 또한  권고하며,  그리고  국제도량형국(BIPM)이  관리하는것.UTC는 ,경도 0 도인 기준 자오선상 에서의 평균태양시를 말하며, 이는 지구 자전을 기준으로한  시간체계 이다.(우리나라 시간에서 9시간을 뺀 시간이  UTC(세계협정시) 이다.)

  • Q. Linux console 해상도 조절하는 방법

    A.

    vi 에디터를 이용하여 /boot/grup/grup.conf 를 수정합니다.

    부팅 이미지를 불러오는 부분 즉

    module /vmlinuz-2.6.20-2925.11.fc7xen ro root=LABEL=/
    윗 부분 맨 마지막 부분에 다음과 같이 추가합니다.
    vga=XXX   (XXX 눈 숫자입력)

    하단에는 해상도 표이다. 웡하는 코드 또는 숫자를 입력하면 된다.

    color . 640×480 . 800×600 . 1024×768 . 1280×1024
    256 . 769 . 771 . 773 . 775
    32K . 784 . 787 . 790 . 793
    64K . 785 . 788 . 791 . 794
    16M . 786 . 789 . 792 . 795

  • Q. wall 명령으로 시스템에 접속한 모든 사용자에게 메세지 보내는 방법은?

    A.

    wall 명령은 내 시스템에 접속한 전체 사용자에게 같은 메시지를 보냅니다.

    아래와 같은 방법 으로 사용하면 됩니다.

     

    - 보낼 메시지가 한줄일때

    [root@localhost /]# wall THIS IS ROCKPLACE!!!!

    [root@localhost /]#

    Broadcast message from root (pts/0) (Fri Jan 21 15:38:09 2005):

    THIS IS ROCKPLACE!!!!

    [root@localhost /]#

     

    - 두줄 이상의 메시지를 보낼때

    [root@localhost /]# wall

    THIS IS ROCKPLACE!!!!

    Omg

    lol <- 메시지를 보낼때 ctrl+d 입력

    [root@localhost /]#

    Broadcast message from root (pts/0) (Fri Jan 21 15:39:12 2005):

    THIS IS ROCKPLACE!!!!

    Omg

    lol <- 메시지를 보낼때 ctrl+d 입력

    [root@localhost /]#

  • Q. 리눅스에 ftp서버가 안되요. ftp server를 구동할려면 어떻게 해야하죠

    RHEL에서는 ftp서버를 운영할 수 있는 vsftp 패키지가 포함되어 있습니다.
    # rpm  -qa | grep vsftpd로 rpm packages 검색후 설치 여부를 확인 합니다.
    vsftpd-2.0.5-12.el5
    설치가 되어 있을 경우 vsftpd daemon이 구동중인지 확인 합니다.

    * 설치가 되어 있지 않을 경우 설치를 하셔야 합니다.
    제공된 설치 미디어가 있으실 경우 미디어를 통하여 설치를 진행 하셔도 됩니다.
    제공된 설치 미디어가 없을 경우 구매하실때 받으신 Subscription을 이용하여 RHN에 등록후
    RHN을 통하여 설치가 가능합니다.

    # service vsftpd status
    vsftpd가 정지됨

    vsftpd daemon 구동.
    # service vsftpd start
    vsftpd에 대한 vsftpd을 시작 중:                            [  OK  ]

    ftp 접근 시도 테스트를 하시면 접근이 되실것입니다.

    # ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 2.0.5)
    Name (localhost:kkamagi): kkamagi
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>

  • [TIP] ftp 서버 패키지가 없을경우 gssftpd 를 사용하자.

    vsftpd, proftpd, wu-ftpd 가 없을경우???

    gssftpd 를 사용한다.

    사용 방법…
    krb5-workstation – 패키지가 설치되어 있는지 확인한다.

    /etc/xinetd.d 폴더의 gssftp 파일을 아래와 같이 수정한다.

    # default: off
    # description: The kerberized FTP server accepts FTP connections \
    #              that can be authenticated with Kerberos 5.
    service ftp
    {
    flags           = REUSE
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/kerberos/sbin/ftpd
    server_args     = -l
    log_on_failure  += USERID
    disable         = no
    }

    완료 후 서비스 재 시작

    service xinetd restart

    netstat -nptl 로 21 번 포트가 Listen 하고 있는지 확인 후

    ftp localhost 을 이용하여 정상적인 접속이 가능한지 확인해 본다.

  • [TIP]chroot 적용된 bind 관련 query_log 남기기

    A.

    name server 에서 누군가가 나의 서버를 이용해서 query 를 날리는 내용을 확인하고 싶을때가 있다.

    그러기 위해선 query log 를 남겨야 되는데 여기서 주의 할점은 chroot 이다.

    chroot 가 적용되지 않은 시스템은 query log 경로를 아무 곳이나 정해도 상관 없지만.

    만약 chroot 를 적용한 시스템이라면 /var/named/chroot 가 최상위 디렉토리라는 것을 명심하자

    /etc/named.conf 에 query log 관련 셋팅

    logging {
    category lame-servers { null; };
    category notify { null; };
    channel “query_logging” {
    file “/var/log/query_log” versions 3 size 100M;
    print-time yes;
    print-category yes;
    print-severity yes;
    };

    category queries {
    query_logging;
    };
    };

    위 처럼 설정 한 후 query_log 파일을 만든다. 권한은 named(user),named(group)

    실제 경로 /var/named/chroot/var/log 이지만 named 의 최상위 경로가 /var/named/chroot 이기 때문에 file 항목에 “/var/named/chroot” 는 입력하지 않아도 된다.

    만약 file 항목의 경로가 잘못되면 /var/log/messages 항목에 file not found 등의 메시지를 출력 한다.

    위 항목을 적용 후 query_log 의 내용을 확인해서 log 가 정상적으로 쌓이면 정상이다.

  • Q. vsftp 패시브 모드 설정하는 방법

    A.

    FTP에서 데이터 전송을 위해서 20번 포트를 사용합니다.
    이 경우 서버에서 클라이언트 쪽으로 연결을 하기 때문에 중간에 방화벽 또는 공유기등을 사용한다면, 정상작동하지 않을 수 있습니다. 이런 문제를 해결하기위해서 PASSIVE모드라는 것이 있고, 이 모드에서는 서버의 1024이후 포트를 사용합니다. 이 포트의 범위를 제한하기 위해서는 다음과 같이 설정합니다.
    pasv_min_port=40000
    pasv_max_port=50000

    위 설정은 PASSIVE에서 사용할 포트를 40000~50000로 합니다.
    방화벽등을 사용하고 있는 경우라면 tcp/udp 40000~50000포트를 열어줍니다.

    *ip_conntrack_ftp 확인
    ]#lsmod ip_conntrack_ftp

    없으면,
    ]#modprobe ip_conntrack_ftp

    ftp를 패시브모드로 사용할려면 위의 모듈이 적재되어 있어야 합니다.

  • Q. 특정 사용자에게 echo 로 메세지 보내려면?

    A.
    특정 사용자에게만 메시지를 보낼 경우는 아래와 같이 간단히 cho 와 >(redirection)를 이용해서 보낼수 있습니다.
    우선 who 명령으로 시스템에 접속한 사용자를 확인합니다.

    [root@localhost /]# who
    root pts/0 Jan 21 15:05
    root pts/1 Jan 21 15:22
    test pts/2 Jan 21 15:22
    jaehwa pts/3 Jan 21 15:22

    pts/3 에 접속해 있는 jaehwa라는 사용자에게 메시지를 보내려면, 아래와 같이 입력 하면 된다.

    [root@localhost /]# echo “Hi.. jaehwa” > /dev/pts/3
    [root@localhost /]#

    그러면.. pts/3 에 접속해 있는 jaehwa라는 사용자만 메시지를 받아보게 된다.