15. SULinux 2.0 유용한 서버 운영 명령어 활용 - SULinux 2.0 공개 강좌
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 14,106 조회
- 0 추천
- 목록
본문
15. SULinux 2.0 유용한 서버 운영 명령어 활용
1. SSU (서버 유틸리티)
SSU(Superuser Server Utility)는 수퍼유저코리아에서 개발한 리눅스 서버관리 솔루션입니다. 리눅스 서버 관리하기 위해 필요했던 많은 복잡하고 어려운 명령어들을 사용하지 않고도 쉽고 빠르게 서버를 설정할 수 있고, 관리할 수 있게 도와주는 프로그램입니다. SSU는 크게 2가지로 구분됩니다. 하나는 서버 설정 및 관리도구 이며, 또 하나는 서버 모니터링 도구입니다.
SSU의 서버 자원 및 보안 모니터링 도구
다음 그림은 서버의 이상 유무 및 자원 사용, 해킹 여부 보기 쉽게 웹환경으로 제공하는 SSU의 모니터링 기능입니다.
SSU의 서버설정 및 관리도구
시스템 관리에서 꼭 필요한 백업 및 기타 설정을 아주 쉽게 도와 주는 프로그램 및 서버 트래픽을 실시간으로 검색 할 수 있는 프로그램을 제공합니다.
1. su_backup (자동백업)
2. su_traffic (서버 트래픽 점검)
3. su_domain (네임서버설정)
4. su_dbuser (DB 사용자)
5. su_mailuser (Mail 사용자 설정)
6. su_vhost (가상호스트 설정)
7. su_usersetup (사용자 통합 자동 설정 )
1.1. SSU 모니터링 기능
1. SSU 모니터링 기능 초기화
SULinux 설치 후 SSU 모니터링 기능을 사용하기 위하여 다음과 같은 방법으로 초기화 하여야 합니다. 이 초기화 단계에서는 서버의 여러 정보를 수집하여 DB화 시키게 됩니다. 향후 시스템 점검시 초기에 저장된 정보와 비교하여 변경된 부분이 자동 검출되기 때문입니다. 모니터링 기능은 시스템 설치 후 뿐만 아니라, 시스템의 정상적인 변경 사항이 있을 때도 초기화 하여야 합니다. 예를 들면, 주요 패키지 업데이트, 새로운 서비스 데몬 프로그램 사용 등의 경우입니다.
다음 명령어를 사용하여 초기화 시킵니다.
위 명령어를 사용하여 실행 시킨 결과입니다.
위와 같이 여러 가지 시스템의 정보를 저장하는 것을 볼 수 있습니다. 각 항목은 하나씩 실행 할 수 있습니다. 자세한 설명은 "system_check_init" 명령을 실행시켜 보시기 바랍니다.
2. 시스템 점검
다음 명령어를 사용하여 시스템을 점검한 결과를 생성합니다.
위 명령어를 입력하면 다음과 같이 점검 할 수 있습니다.
위와 같이 20가지의 사항에 대해서 점검하게 됩니다.
3. 점검 사항 확인
SSU의 모니터링 결과를 확인하기 위해서는 웹서버가 설치되어 있어야 합니다. SULinux에서 제공하는 APM_Install-tools를 통하여 Apache 웹서버를 설치 할 수 있습니다. 자세한 Apache 사용법은 웹서버(Apache)편을 확인참조 하시기 바랍니다.
웹브라우저에 다음과 같이 입력하면, SSU 모니터링 결과를 확인 할 수 있습니다.
SSU 모니터링 결과를 보기위해 URL을 입력하면 다음과 같이 인증창이 뜨게 됩니다. 초기 ID는 admin이고, 비밀번호는 sulinux입니다. 비밀번호 변경은 고급설정부분을 참조하세요.
정상적으로 로그인을 하면 다음과 같이 SSU의 시스템 점검 결과를 확인 할 수 있습니다. 20개의 항목을 확인 할 수 있으며, 각 항목을 선택하게 되면, 상세 항목이 있습니다. 각 항목의 우측 상단에 도움말 기능이 있으니 수상한 점은 도움말을 참고하시기 바랍니다.
예전 점검한 내역을 보려면, 아래 날짜를 누르게 되면 그 날에 점검한 내역이 나타납니다. 이 때 왼쪽 점검 내역만 갱신되며, 오른쪽 내용은 갱신되지 않으니 보고 싶은 내역을 한번 더 선택 하시기 바랍니다. 다른 날짜를 누르게되면 아래 그림과 같은 경고 메시지가 뜨게 됩니다.
위 그림은 SSU의 점검 결과를 보여주고 있습니다.
4. cron 설정 (필수)
SSU의 모니터링 기능에서 사용되는 여러 데이터는 cron에 의해서 실행되는 프로그램(system_test)에 의해서 수집됩니다. CPU부하 및 프로세스 수 등의 정보를 자동 수집하기 위해서는 cron설정이 필요합니다. 또한 매일 자동으로 시스템을 점검하기 위해서도 cron의 도움을 받습니다. SULinux설치시 기본적으로 SSU의 점검기능이 실행되지 않습니다. 다음 설정을 하셔야 정상적으로 작동합니다.
/etc/cron.d/ssu 파일을 편집기로 열어 첫 번째 줄과 두 번째 중의 주석(#)을 제거합니다. 아래 설정은 매5분 마다 system_test를 실행하고, 매일 07시에 system_check를 실행하는 cron 내용입니다. ( 3번째 라인은 백업 관련 설정이며 백업편에서 다루겠습니다.)
위와 같이 설정하면 매일 아침 7시 이후에 점검 결과를 볼 수 있습니다.
1.2. SSU 서버 관리도구
SSU는 힘들고, 틀리기 쉬우며, 많은 시간이 필요한 서버 설정작업을 아주 쉽게 할 수 있는 편리한 유틸리티들을 제공합니다. 아래 기능들을 제공합니다.
1. su_domain (네임서버설정) : 네임서버의 도메인을 관리 할 수 있습니다.
2. su_dbuser (DB 사용자) : DB사용자 및 DB를 관리 할 수 있습니다.
3. su_mailuser (Mail 사용자 설정) : Mail 사용자를 관리 할 수 있습니다.
4. su_vhost (가상호스트 설정) : Apache 가상호스트를 쉽게 관리 할 수 있습니다.
5. su_usersetup (사용자 통합 자동 설정) : 사용자생성, 가상호스트 생성, 메일 설정, DB 및 DB사용자를 쉽고 빠르게 생성 할 수 있습니다.
6. su_traffic (서버 트래픽 점검) : 명령어로 입/출력되는 트래픽을 조사할 수 있습니다.
1. DNS 도메인 관리
DNS서버에 도메인을 추가하려면, named.conf 파일에서 형식에 맞게 만들어 주어야 하며, zone 파일 또한 형식에 맞게 만들어 주어야 합니다. 도메인을 추가할 일이 많으면 지속적인 반복작업을 해야 하며, 도메인을 추가할 일이 적으면 도메인을 설정하기 위해 서적을 뒤지거나, 인터넷을 뒤져 설정할 것입니다. SSU의 su_domain프로그램을 이용하면 아주 쉽고 빠르게 도메인을 생성할 수 있습니다.
1) DNS 도메인 설정
DNS서버 도메인 관리 프로그램을 처음 실행하면 다음과 같은 경고 메시지가 나타납니다.
DNS 도메인 설정 중 zone 파일에 DNS도메인 및 관리자 항목이 들어가게 됩니다. 이 DNS도메인 및 관리자 정보를 입력하기 위해서는 다음 설정파일을 편집합니다.
/root/bin/conf/su_util.cfg 설정파일을 편집기로 열어 수정 합니다. 아래 부분은 약 30번째 줄부터 보여주고 있습니다.
위 설정파일에서 “YOUR-DNS-DOMAIN”부분을 DNS도메인으로 변경하시기 바랍니다.
2) DNS 도메인 생성
su_domain명령어로 쉽게 named.conf 파일설정 및 zone파일을 생성할 수 있습니다.
위 명령어에서 도메인은 www를 제거한 도메인입니다. su_domain은 자동으로 www에 대한 설정을 zone파일에 하게 됩니다.
위와 같이 입력하면 sulinux.net에 대한 도메인 설정이, named.conf 파일에 생성되며, /var/named/sulinux.net.zone 파일이 생성되게 됩니다. 다음과 같이 설정된 내역을 확인 하였습니다.
위 내역은 su_domain에 의해서 자동 생성된 설정 내용입니다. zone 파일에 대해 각 항목은 알아보기 쉽게 한글로 주석처리 되어 생성됩니다.
3) DNS 도메인 내용 수정
su_domain명령어는 쉽게 특정 도메인의 zone파일을 수정할 수 있게 도와줍니다.
위와 같이 입력하면, 도메인에 해당되는 zone파일을 열어 vi편집기로 열어 주게 됩니다. su_domain의 zone파일 수정기능을 사용하기 위해서는 vi 명령어 사용법을 먼저 학습하시기 바랍니다. 해당 내용을 수정하면 자동으로 DNS서버를 재 시작됩니다.
4) DNS 도메인 삭제
su_domain명령어를 이용하여 설정한 도메인을 쉽게 삭제 할 수 있습니다.
위와 같이 입력하면, 도메인에 해당되는 zone파일을 삭제합니다. 그리고, named.conf 파일을 열어 해당 도메인의 설정이 위치한 곳으로 커서를 자동으로 이동시킵니다. 한번 더 확인하고 "dd"를 눌러 해당 라인을 삭제합니다. 그리고는 “<ESC>"키를 누르고 ”:wq"를 눌러 설정파일을 저장하고, vi 편집기를 빠져 나옵니다. 완벽한 삭제를 위해 자동으로 DNS서버가 재 시작됩니다.
2. MySQL 사용자 관리 (su_dbuser)
mysql의 사용자 설정은 서버에서 사용자 설정하는 것 보다 까다롭습니다. 입력해야 할 것들이 많고 많은 시간을 필요로 합니다. 이 번거로운 사용자 설정을 명령어 한 줄로 할 수 있는 명령어 su_dbuser를 SULinux는 제공합니다.
(mysql 3.23.* , mysql 4.0.*, mysql 4.1.* , mysql 5.0.*, MySQL 5.1.* 모두 사용가능합니다.)
1) DB 사용자 및 DB 데이터베이스 생성
su_dbuser명령어로 쉽게 DB를 생성하고, DB 사용자를 생성 할 수 있습니다.
위 명령어에서 DB명, DB사용자명, DB사용자의 비밀번호를 입력합니다. 실행하면, DB생성, user테이블에 사용자생성, db 테이블에 생성된 DB를 접근할 수 있게 생성된 사용자에게 권한을 부여합니다.
위와 같이 입력하면 testdb 가 생성되며, testdb 사용자가 생성되고, testdb 사용자의 비밀번호는 12345가 됩니다. 그리고 testdb사용자로 로그인 하면 testdb를 사용할 수 있습니다.
다음은 설정된 값을 DB에 접속하여 쿼리로 확인한 결과입니다.
2) DB 사용자 비밀번호 변경
su_dbuser명령어로 쉽게 DB 사용자의 비밀번호를 변경할 수 있습니다.
위 명령어에서 DB사용자명, DB사용자의 비밀번호를 입력합니다. DB사용자 비밀번호를 입력한 비밀번호로 변경됩니다.
위와 같이 입력하면 testdb 사용자의 비밀번호가 qwer으로 변경됩니다.
3) DB 사용자 및 DB 삭제
su_dbuser명령어로 쉽게 DB 및 DB사용자를 삭제할 수 있습니다.
위 명령어에서 DB 및 DB 사용자를 삭제합니다. DB사용자명, DB사용자의 비밀번호를 입력합니다. DB사용자 비밀번호가 입력한 비밀번호로 변경됩니다.
위와 같이 입력하면 testdb 사용자 및 testdb 를 삭제합니다.
3. 메일 사용자 관리 프로그램 (su_mailuser)
Sendmail은 시스템계정과 메일 사용자를 함께 사용합니다. 그렇기 때문에 시스템계정이 있다면, 메일 도메인만 정해지면 특별한 설정 없이 메일을 수신 할 수 있습니다. 하지만, 메일만을 전용으로 사용하는 계정을 만들다 거나, 가상메일 주소를 생성하여 특정 사용자에게 포워딩 한다거나, 메일 사용자의 비밀번호를 변경하거나, 메일 사용자를 삭제하거나, 메일 사용자 리스트를 확인 하기위한 전용프로그램을 SULinux는 제공합니다. 메일 사용자 관리를 위해 su_mailuser를 제공합니다. 이 su_mailuser는 ssu 패키지의 일부입니다. 다음과 같은 방법으로 원하는 작업을 쉽고 편하게 할 수 있습니다.
1) 메일 사용자 추가
예) woo0@sulinux.net 메일 주소 설정
이렇게 하면 홈디렉토리는 생성되지 않은 사용자 woo0이 생깁니다. 비밀번호는 "1111"으로 됩니다. 그런 다음 자동으로 /etc/mail/local-host-names 파일에 도메인(sulinux.net)을 등록하고 Sendmail을 재시작하여 메일을 수신할 수 있는 환경을 만들어 줍니다.
이 때, 사용자의 쉘권한은 /bin/false 로 되어 있어 쉘권한이 없는 사용자가 생성 됩니다.
2) 메일 가상 사용자 추가 (포워딩)
가상 메일 주소를 만들어 포워딩 할 경우, 또는 특정 메일 주소를 다른 메일 서버로 포워딩 할 경우 사용합니다.
예) webmaster@sulinux.net 메일을 sulinux계정으로 수신
su_mailuser명령어를 사용하여 위와 같이 설정하면 webmaster@sulinux.net 으로 수신되는 메일을 sulinux 계정에서 수신할 수 있습니다. 위 설정은 /etc/mail/local-host-names 파일에 도메인(sulinux.net)을 확인 하고 없을시 등록하고, /etc/mail/virtusertable 파일에 다음과 같이 기록한 다음 Sendmail을 재시작합니다. (시스템에 webmaster계정이 있더라도 sulinux계정이 webmaster@sulinux.net 메일을 수신합니다.)
예) remote@sulinux.net 메일을 doly@linux.co.kr으로 수신
su_mailuser명령어를 사용하여 remote@sulinux.net 메일을 doly@linux.co.kr으로 수신 할 수 있게 설정한 것입니다. (시스템에 remote계정이 있더라도 remote@sulinux.net 주소로 수신되는 메일은 doly@linux.co.kr 메일주소로 포워딩 됩니다.)
/etc/mail/virtusertable파일은 다음과 같이 기록됩니다.
3) 메일 사용자 비밀번호 변경
메일 사용자 및 일반 계정의 비밀번호를 변경 할 수 있습니다.
4) 메일 사용자 삭제
메일 사용자 및 일반 계정 사용자를 삭제 합니다. 사용자의 메일 박스 및 홈디렉토리는 삭제되지 않습니다.
5) 메일 사용자 목록 보기
메일 사용자 및 포워딩 되는 내역을 보여줍니다. su_mailuser로 생성되지 않은 도메인의 계정은 나타나지 않습니다.
예) 메일 사용자 리스트 확인
위와 같이 설정된 메일사용자 및 포워딩 설정을 확인 할 수 있습니다.
4. 가상호스트 생성
요즘은 서버 한 대에 하나의 도메인만을 셋팅해서 사용하는 분들은 거의 없다고 생각합니다. 아파치의 가상호스트 기능을 사용해서 많은 도메인을 하나의 서버에서 사용할 것입니다. 도메인이 추가 삭제 될 때마다 httpd.conf 파일을 건드려야 하고, 실수가 있을 수도 있습니다. 간단하게 이 설정을 해주는 프로그램이 있습니다. su_vhost는 ssu 패키지의 일부입니다. SULinux는 기본적으로 ssu패키지를 지원합니다. 다음과 같은 방법으로 원하는 작업을 쉽고 편하게 할 수 있습니다.
su_vhost는 Apache 1.3.X , Apache 2.0.X, Apache 2.2.X 모든 버전을 지원합니다. Apache 1.3.X와 Apache 2.0.X는 httpd.conf 파일에 가상 호스트 값을 설정하고, Apache 2.2.X는 extra/httpd-vhost.conf 파일에 가상호스트 설정을 추가하게 됩니다.
su_vhost는 설정후 자동으로 아파치 웹서버를 재시작하게 됩니다.
1) 가상 도메인 추가
예) sulinux.net 도메인 추가
이렇게 하면 /hom/sulinux/www를 가상WebRoot로 하고, sulinux.net 및 www.sulinux.net 에 대한 가상호스트 설정이 완료됩니다.
설정된 내역은 다음과 같이 확인 할 수 있습니다.
위 설정과 같이 www.sulinux.net까지 설정된 것을 볼 수 있습니다. 그리고, ErrorLog 및 CustomLog를 사용자가 쉽게 설정할 수 있도록 추천 설정이 나오고 “#”으로 주석처리 되어 있습니다.
2) 가상 호스트 도메인 정보 변경
가상 호스트 도메인 정보 변경은 단순히 설정파일을 열어 설정파일을 편집 할 수 있게 합니다.
3) 가상 도메인 삭제
입력한 도메인과 관련된 가상 호스트 설정을 삭제 할 수 있게 도와줍니다.
예) sulinux.net 도메인 삭제
위와 같이 입력하면, httpd.conf 파일을 열어서 관련 도메인이 위치한 곳을 찾아 주며, dd 라는 키로 지우고, ESC ,:wq로 저장하고 나오면 끝납니다.(vi 편집기 필수기능은 숙지하시기 바랍니다.)
4) 도메인 포워딩
아파치 웹서버의 Redirect 기능을 이용하여 도메인을 포워딩 할 수 있습니다. 여러 개의 도메인을 다른 도메인으로 포워딩 할 수 있는 강력한 기능을 제공합니다.
예) sulinux관련 도메인 sulinux.net 도메인 으로 포워딩 예제
위와 같은 명령을 내리면, www.sulinux.kr, sulinux.kr, sulinux.co.kr, www.sulinux.co.kr, sulinux.com, www.sulinux.com, 모두 www.sulinux.net 도메인으로 포워딩 됩니다.
설정된 내역은 다음과 같이 확인 할 수 있습니다.
위 설정은 ServerName으로 설정된 도메인과 ServerAlias로 설정된 도메인 모두 Redirect 지시자를 이용해 www.sulinux.net으로 포워딩 하는 설정입니다.
5. 사용자 통합 관리(DB, Mail, WEB)
SULinux는 사용자, 메일, DB, 가상호스트를 쉽게 추가할 수 있는 su_usersetup프로그램을 제공합니다. 사용자 생성부터 가상호스트 설정까지 아주 쉽게 할 수 있습니다. 웹호스팅서버를 운영한다면 아주 유용한 툴이 될 수 있습니다.
1) 통합 사용자 생성
su_usersetup을 사용하여 아주 쉽게 통합 사용자를 생성할 수 있습니다. 다음 설정을 하게 됩니다.
1. 사용자 계정 생성 및 웹 접근 권한으로 home 디렉토리 퍼미션 변경, 가상 웹ROOT생성
(가상 웹ROOT는 사용자 home디렉토리 아래 UserDir 에 해당하는 디렉토리를 생성합니다. Apache 설정에 UserDir이 public_html 이라면, public_html으로 생성합니다.)
2. DB생성 및 DB 사용자 생성, 생성된 DB에대한 DB사용자의 접근권한 설정
3. 아파치 가상 호스트 설정
4. /etc/mail/local-host-names 도메인 추가, “webmaster@도메인”으로 수신되는 메일 “계정명”으로 수신될 수 있도록 설정
다음과 같이 생성해 보도록 하겠습니다.
사용자 생성의 일련의 과정을 자동으로 수행 해 줍니다.
2) 통합 사용자 삭제
su_usersetup을 사용하여 생성된 통합 사용자를 삭제 할 수 있습니다. 앞에서 생성된 모든 내용을 삭제 해 줍니다.
다음과 같이 삭제 해 보도록 하겠습니다.
삭제과정은 중요하기 때문에 삭제 할 것인지 물어보게 됩니다. y를 누르면 삭제 절차가 진행됩니다. 가상호스트 부분은 자동삭제의 위험성 때문에 vi 편집기로 관련 부분에 커서를 위치시켜 줍니다. “dd"를 사용하여 관련 부분을 삭제합니다. 편집 후 <ESC>키를 누르고 ":wq"를 눌러 저장 후 vi 편집기에서 빠져 나오면 다음 단계가 자동적으로 실행됩니다.
6. 트래픽 측정 프로그램
SULinux는 TUI환경에서 실시간으로 트래픽을 측정 할 수 있는 프로그램(su_traffic)을 제공합니다. 대부분은 트래픽을 MRTG등으로 확인하지만, MRTG는 5분단위이며 시스템의 트래픽을 실시간으로 알 수 없습니다. su_traffic는 proc파일 시스템을 조사하여 실시간으로 트래픽을 보여줍니다.
트래픽 프로그램 사용법은 아래와 같습니다.
* 시간간격은 초단위로 기술 하며 생략할 경우 기본 3초로 조사합니다. 이더넷디바이스번호는 이더넷 장치의 이름 eth0, eth1 등으로 기술합니다.
다음 예제는 TUI환경에서 트래픽을 조사한 결과입니다.
위 내역은 SULinux에 SSH로 접속하여 트래픽을 보는 명령어를 실행시킨 결과입니다. 이더넷 장치는 eth0이며, 트래픽을 볼 모드는 text이며, 조사 간격은 1초 단위입니다.
다음은 TUI 환경에서 명령을 내리고, 웹서버에서 파일을 불러 확인해 보았습니다.
1.3. SSU를 이용한 시스템 자동백업 설정
리눅스 시스템에서 사용하는 저장장치는 대부분 HDD(하드디스크)를 사용합니다. 이 HDD는 소모품으로 언제든지 물리적, 논리적 손상이 있어 모든 데이터를 잃을 수 있습니다. 이러한 불안요소를 제거하기 위하여 RAID구성으로 이중화 시키고, 다른 디스크 및 원격지 백업서버에 백업을 합니다. 이 뿐만 아니라, 사용자의 실수로 데이터를 지울 수 도 있어 이를 대비한 백업은 아주 중요합니다. 최악의 경우 가장 힘이 되는 것은 백업 데이터이며, 백업은 아무리 강조해도 더하지 않습니다. SSU는 복잡한 백업을 아주 쉽게 할 수 있는 프로그램(su_backup)을 제공합니다.
1. 백업프로그램 사용법
* 위 프로그램을 실행하면 자동으로 백업을 수행 합니다. 백업 내용은 다음과 같이 확인 할 수 있습니다. ( 데이터양에 따라 다소 시간이 소요될 수 있습니다. )
위와 같이 백업된 결과를 확인 할 수 있습니다. 기본 백업 경로는 "/backup" 디렉토리입니다. 그 아래 data 디렉토리가 생기고 그 아래 날짜(/backup/data/09-05-04)가 생겼습니다. 오늘 백업한 디렉토리를 /backup/today 로 심볼릭 링크를 걸고 있습니다.
오늘날짜 백업 디렉토리(/backup/today)를 확인 하면, 여러 가지 데이터가 압축되어 백업된 것을 확인 할 수 있습니다.
2. 백업 대상 및 백업 파일
위와 같이 리눅스 시스템의 중요한 데이터를 백업하게 됩니다. 백업 데이터는 기본 2일 보관 하게 설정되어 있습니다.
3. 매일 자동 백업 실행 설정
SSU의 자동백업 프로그램을 사용하여 매일 백업을 수행 하려면 cron에 의해 주기적으로 자동백업프로그램(su_backup)을 실행시켜야 합니다. 앞에서 설정했던, /etc/cron.d/ssu파일을 열어 3번째 줄의 주석(#)을 제거합니다. 아래 설정 중 3번째 줄은 매일 새벽 3시에 자동으로 백업프로그램(su_backup)을 작동 시킵니다.
위와 같이 설정하면 매일 새벽 3시에 백업을 수행합니다.
4. 백업 데이터 보관 및 백업 경로 변경
SULinux에서 제공하는 SSU의 자동백업 기능은 기본적으로 백업 데이터를 2일간 보관하며, 기본 백업 디렉토리를 /backup으로 합니다. 디렉토리 및 보관일 수 를 변경하려면 다음과 같이 설정파일을 편집하시기 바랍니다.
/root/bin/conf/su_util.cfg 설정파일을 편집기로 열어 수정 합니다. 아래 부분은 약 41번째 줄부터 보여주고 있습니다.
위 설정에서 백업 디렉토리 변경을 위해서는 backup_dir 부분에 “/backup"을 수정하고, 백업 일수를 변경하기 위해서는 backup_count의 "2"를 원하는 보관일 수로 설정 하시기 바랍니다. 만약 사용자의 데이터를 보관하는 "/home" 디렉토리가 여러 개 이거나, 다른 곳에 보관 한다면, home_dirs 부분의 "/home"을 수정 또는 추가 하시기 바랍니다.
1.4. SSU를 이용한 가상 쿼터 시스템
SULinux를 웹호스팅용도 및 기타 용도로 사용하는 경우 사용자에게 DISK용량을 제한하여 제공해야 하는 경우가 있습니다. 일반적인 리눅스에서 제공하는 quota를 사용하게 되면, 제한 용량을 초과하는 사용자의 데이터가 지워지는 문제가 발생하여 고객과 분쟁이 일어날 경우가 있습니다. 이러한 분쟁을 막기 위해 제한용량을 초과 했을 시 사용자 및 관리자에게 메일을 보내어 알려주는 기능을 하는 가상 쿼터 프로그램(su_quota)이 SSU에 포함되어 있습니다.
가상 쿼터프로그램은 사용자 홈디렉토리 용량제한 뿐만 아니라, DB용량 까지도 관리 할 수 있으며, 사용기간 만기 시 알림 기능을 제공합니다.
가상 쿼터는 설정파일이 가장 중요하기 때문에 설정부분을 자세히 읽어보신 후 사용해주십시오.
1. 실행 방법
가상쿼터 프로그램은 시스템 모니터링 프로그램의 한 항목으로 제공됩니다. 시스템 점검 프로그램이 자동 실행된다면 별 다르게 실행을 위한 설정은 필요 없습니다.
2. 쿼타 점검 결과 확인
SSU의 가상쿼타 기능은 SSU의 모니터링 결과 페이지의 20번째 항목으로 존재합니다. 다음과 같이 결과 확인 할 수 있습니다.
위 결과는 가상 쿼타 설정을 하지 않은 상태여서 사용자 데이터용량 및 DB 용량만을 보여주고 있습니다. 위 화면에서 볼 수 있듯 사용자들의 홈디렉토리 용량 , 메일주소, DB용량, 만기일을 확인 할 수 있습니다. 용량을 초과하거나, 만기일이 지난 사용자는 빨간색으로 보여줍니다. 제한한 용량 및 제한한 기간을 초과하는 경우 설정된 메일주소로 메일을 보내게 됩니다.
3. 가상쿼터 제한 설정
가상쿼터를 사용하기 위해서 설정파일을 편집해야 합니다. 다음과 같은 방법으로 가상쿼터를 활성화 시킬 수 있습니다.
우선 설정파일(/root/bin/conf/vquota_user.cfg)을 편집기로 열어 다음과 같이 편집합니다.
위와 같은 형태로 설정파일을 구성하며, 주석을 사용하기 위해서는 “#”을 사용합니다.
아래와 같이 sulinux에 대한 설정을 하였습니다.
위 설정은 sulinux 라는 계정에, 홈디렉토리 용량을 3000M로 제한하고, 메일주소는 sulinux@sulinux.co.kr, DB 데이터 용량은 200M, 만기일은 2010년 12월 10일으로 설정한 내역입니다.
4. 가상쿼터 메시지 편집
가상쿼터를 설정하면, 설정한 제한을 초과하는 사용자에게 메일을 발송하게 됩니다. 발송되는 메시지를 다음과 같이 수정할 수 있습니다.
- DB용량 초과 메시지
설정파일 : /root/bin/conf/vquota_db_full.msg
가상쿼터 시스템에서 DB용량을 다 사용하였을 때 사용자에게 보내어질 메시지입니다. 현재 text 형식만 가능합니다.
- DISK 용량 초과 메시지
설정파일 : /root/bin/conf/vquota_disk_full.msg
가상쿼터 시스템에서 사용자가 정해진 용량이상 사용했을 때 메일로 발송할 메시지입니다. 현재 text 만 가능합니다.
- 만기일 초과 메시지
설정파일 : /root/bin/conf/vquota_expire.msg
사용자의 지정한 만기일이 넘었을 때, 보내어지는 메시지입니다. 현재 text 만 가능합니다.
1.5. 기타 고급 설정
SSU는 다양한 기능을 제공합니다. 사용자의 다양한 환경을 고려하여 작성되었기 때문에 설정파일(/root/bin/conf/su_util.cfg)을 편집하므로 여러 환경에 적용시킬 수 있습니다. 설정파일에 대한 설명은 다음과 같습니다.
2. MC (MDir과 비슷한 TUI 파일 브라우저)
GUI환경인 MS-Windows를 많이 사용하기 전에는 DOS를 많이 사용했었습니다. DOS환경에서 여러 명령어를 기억하기도 힘들며, 파일 및 디렉토리를 관리하는 일이 힘들었습니다. DOS를 사용해 본 사람은 모두 Mdir을 알고 있을 겁니다. DOS부팅후 "m"이라는 프로그램을 실행하고 여러 디렉토리를 쉽게 이동하고, 파일 복사, 수정, 편집등 오늘날의 파일브라우저가 하는 모든 일들을 수행하였습니다. SULinux는 커맨드환경에서 DOS시절 Mdir과 비슷한 프로그램을 제공합니다.
MC(Midnight Commander)는 리눅스 환경에서 파일을 관리하는 아주 편리한 프로그램입니다. 파일 및 디렉토리 복사, 편집, 삭제, 이동, 생성등의 기본기능과 FTP, SAMBA, SFTP 접속, 압축파일 관리등을 쉽게 할 수 있습니다.
다음과 같이 MC를 실행하여 기능을 살펴 보도록 하겠습니다.
먼저 MC를 실행시키기 위해서는 SULinux 콘솔 환경에서 "mc"를 입력합니다.
위 그림은 mc명령어를 실행시킨 화면입니다. 왼쪽과 오른쪽은 각각 다른 디렉토리로 작동하게 되며, 포커스가 왼쪽에 있으면 왼쪽이 소스가 됩니다. 복사등의 기능을 할 때 선택한 파일 및 디렉토리를 포커스를 받지 않은 쪽으로 복사하게 됩니다. X환경에서 사용한다면, 마우스를 사용하여 파일 및 메뉴를 선택할 수 있습니다.
위 그림의 상단은 메뉴를 나타냅니다. 키보드 <F9>키를 누르게 되면 선택 할 수 있습니다. 그림 하단의 메뉴는 기능키를 사용하여 선택 할 수 있습니다. 도움말을 보기위해서는 <F1>키를 파일을 편집하기 위해서는 <F4>키를 눌러 각각 기능을 수행 할 수 있습니다.
1. 파일 및 디렉토리 관리 기능
mc를 파일 및 디렉토리를 생성, 이름 수정, 복사, 이동, 삭제등의 대부분 일을 수행할 수 있습니다. 특히 파일 및 디렉토리의 퍼미션을 변경할 수 있습니다.
위 그림은 파일복사 기능을 수행하고 있는 화면입니다. 복사하고자 하는 파일을 선택하고 <F5>키를 누르면 복사 할 수 있으며, 복사과정에 여러 옵션을 적용 시킬 수 있습니다.
2. 파일 편집 기능
mc를 사용하여 파일을 쉽게 편집 할 수 있습니다. 리눅스 및 리눅스에서 파일을 편집하기 위해 대부분 vi를 사용합니다. 하지만, vi에 익숙하지 않을 경우 설정파일등의 편집에 애로 사항이 있습니다. 하지만, mc의 편집기를 사용하면, 아주 쉽고 편리하게 파일을 편집 할 수 있습니다.
위 그림은 mc의 편집기 기능을 사용하여 .bash_profile파일을 편집하고 있는 화면입니다. 일반적인 키를 이용하여 파일을 편집할 수 있으며, 편집 후에는 <F2>키를 눌러 저장하고, <F10>키를 눌러 편집모드를 종료 할 수 있습니다.
3. 압축파일 관리
mc를 사용하여 압축을 해제 하거나, 압축할 수 있으며, 압축된 파일을 볼 수 있습니다. 여러 가지 압축파일 형태를 지원하며 특이하게 rpm파일도 지원합니다.
위 그림은 rpm파일을 mc에서 열어 보고 있습니다. rpm파일을 열어 여러 가지 내용을 확인 할 수 있고, 복사할 수 있습니다.
4. 원격지 파일 관리 (ftp, smb, sftp)
mc를 이용하면, 전혀 ftp명령어를 몰라도 ftp 서버에 접속하여 파일을 다운로드, 업로드, 파일이름 편집등의 일을 할 수 있습니다. mc는 ftp뿐만 아니라, smb, sftp를 지원하여 아주 쉽게 원격지 파일을 관리 할 수 있습니다.
위 그림은 ftp서버에 연결하는 과정을 보여줍니다. 각 프로토콜별 방법이 조금씩 차이가 나며, 연결 하는 화면에서 <F1>키를 입력하면 자세한 방법을 볼 수 있습니다.
위 그림은 smb서버에 접속하는 과정을 보여주고 있습니다. smb의 경우는 ftp, sftp 접속방법과 다르게 “도메인”을 넣을 수 있습니다.
3. IPTRAF (트래픽 모니터링 툴)
리눅스 시스템을 사용하다 보면, 시스템 내에 흘러 다니는 패킷을 분석해야 할 경우가 있습니다. SULinux는 TUI환경에서 간단하게 트래픽을 모니터링, 분석 할 수 있는 프로그램을 제공합니다.
iptraf은 강력한 TUI 기반 IP LAN 모니터입니다. iptraf는 TCP, UDP, ICMP 및 OSPF정보를 분석할 수 있습니다. 어떤 기능이 있는지 살펴 보도록 하겠습니다.
1. IP별 모니터링
iptraf를 이용하여 다음 그림과 같이 IP 및 port별 패킷수와 전송량 및 플레그 등을 확인 할 수 있습니다. TCP와 UDP 따로 조사 되는 것을 볼 수 있습니다.
2. 네트웍 장치별 통계
iptraf를 이용하여 아래 그림과 같이 네트워크 장치별 트래픽 및 패킷, BadIP, NonIP등을 확인 할 수 있습니다.
3. 프로토콜별 통계
iptraf을 이용하여 아래 그림과 같이 프로토콜 별 패킷, 전송량, 수신, 송신량을 조사할 수 있습니다. IP, TCP, UDP, ICMP별로 분리해서 보여주고, 현재 시스템의 전체 송신/수신 트래픽과 브로드케스트 패킷또한 볼 수 있습니다.
4. 패킷 사이즈별 분석
iptraf를 이용하여 패킷 사이즈별 패킷 수를 분석할 수 있습니다. 다음 그림은 패킷 사이즈별 패킷 분석화면입니다. 사이즈가 1~75bytes의 패킷이 많은 것을 확인 할 수 있습니다.
5. 프로토콜 및 포트별 패킷 모니터링
iptraf를 이용하여 프로토콜과 포트를 기반으로 통계를 낼 수 있습니다. 송/수신 패킷 수 및 용량을 통계낼 수 있어 전체 트래픽에서 차지하는 응용프로그램을 찾을 수 있는 근거를 제공합니다.
6. MAC 기반 모니터링
iptraf는 MAC기반으로 패킷의 수 및 용량을 모니터링 하여 통계 낼 수 있습니다. 다음 그림은 MAC기반으로 패킷을 모니터링 하고 있습니다.
7. 패킷 필터 설정
트래픽이 많은 시스템에서 패킷을 분석하는 일은 아주 힘든 일입니다. iptraf는 원하는 패턴에 맞는 패킷만을 모니터링 할 수 있는 필터를 제공합니다. 다음 그림과 같이 여러 가지 필터를 적용할 수 있습니다.
본 강좌는 SULinux 2.0 GUI “사용설명서”를 참조하였습니다. 본 강좌의 개선점이나, 오타등이 있으면 service@linux.kr으로 알려주시기 바라며, 그 밖의 질문은 sulinux.net으로 해 주시기 바랍니다. 2010년 4월에 연구소장 에스유.
관련자료
-
이전
-
다음