갑자기 특정한 IP 주소에서 짧은 시간에 많은 접속을 하여 시스템의 부하가 올라가 웹 접속 로그를 살펴보니 아래와 같이 이해할 수 없는 내용이 남는 경우가 있다.

211.51.63.4 - - [26/Sep/2001:22:19:42 +0900] "GET /robots.txt HTTP/1.0" 404 285
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /index.asp HTTP/1.0" 404 284
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /index.php HTTP/1.0" 404 284
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /index.php3 HTTP/1.0" 404 285
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /default.htm HTTP/1.0" 404 286
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /default.html HTTP/1.0" 404 287
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /default.asp HTTP/1.0" 404 286
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /default.php HTTP/1.0" 404 286
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /default.php3 HTTP/1.0" 404 287
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /main.htm HTTP/1.0" 404 283
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /main.html HTTP/1.0" 404 284
211.51.63.4 - - [26/Sep/2001:22:19:43 +0900] "GET /main.asp HTTP/1.0" 404 283
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /main.php HTTP/1.0" 404 283
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /main.php3 HTTP/1.0" 404 284
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /home.htm HTTP/1.0" 404 283
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /home.html HTTP/1.0" 404 284
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /home.asp HTTP/1.0" 404 283
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /home.php HTTP/1.0" 404 283
211.51.63.4 - - [26/Sep/2001:22:19:44 +0900] "GET /home.php3 HTTP/1.0" 404 284

무작위로 index.php index.asp, index.php3, default.html, default.asp 등의 파일을 순서대로 요청하는 것으로 보아 검색 엔진일 가능성이 높다고 가정할 수 있다. 특히 robots.txt 파일을 요청하는 것으로 검색 엔진이라고 장담할 수 있을 것이다.
httpd.conf 에서 Logformat 를 common 대신 {User-agent} 변수를 추가하여 정의하면 서버에 접근하는 agent 정보도 알 수 있는데, UA(User Agent)는 일반적인 웹 브라우저 뿐만 아니라 검색 로봇이나 방랑 로봇등 웹서버에 접속하여 웹 페이지를 가져오거나 해석하는 모든 종류의 프로그램을 뜻한다. 이는 흔히 사용하는 Internet Explorer나 Netscape 등의 브라우저외에도 lycos의 spider 나 AltaVista의 Scooter와 같은 검색 로봇과 Teleport 나 WebZIP, GetRight 등 오프라인 브라우저 모두 UA의 범위에 속한다. 검색 로봇이 어떤 사이트를 방문하여 문서를 인덱싱 하거나 오프라인 브라우저가 페이지를 한꺼번에 요청하여 긁어가는 것은 일반 사용자가 웹 브라우저로 서버에 접속하여 원하는 페이지를 보는 일반적인 경우와 그 성격이 다르다. 여러 페이지를 동시에 요청하는 정도를 벗어나 아예 한 웹 사이트의 모든 페이지를 짧은 시간에 통째로 긁어가기도 하기 때문에 이러한 경우에는 서버에 매우 많은 프로세스를 생성하면서 웹 서버의 로드가 크게 올라가게 되는 것이다. 특히 DB와 연동하는 사이트의 경우에는 심할 경우 정상적인 서비스를 하지 못 할 정도이다.
모든 사이트가 검색 엔진에 등록될 필요는 없거나 또는 허용된 일부 유저만 접근이 가능한 페이지의 경우 로봇의 접근을 차단할 필요가 있으므로 이러한 경우에는 아래와 같이 설정된 robots.txt 파일을 웹 서버의 최상위 / 디렉토리에 두면 모든 검색 로봇이 /secure 디렉터리를 인덱싱하지 않는다.

User-agent: *
Disallow: /secure

"User-agent: *"는 모든 로봇를 대상으로 한다는 것을 뜻하며 예를 들어 AltaVista Scooter등 특정한 UA 에 대해서만 설정하고 싶다면 다음과 같이 하면 된다.

User-agent: scooter

검색로봇과 관련된 더 자세한 정보를 얻기 원한다면 아래의 사이트를 참고하기 바란다.


http://info.webcrawler.com/mak/projects/robots/robots.html
http://info.webcrawler.com/mak/projects/robots/norobots.html

아울러 웹서버에서 특정한 User-Agent 의 접근을 차단하고자 한다면 httpd.conf 에 아래와 같이 BrowserMatch 를 사용하여 설정해도 된다.

BrowserMatch "WebZIP" go_out
BrowserMatch "Teleport" go_out
BrowserMatch "GetRight" go_out
BrowserMatch "WebCopier" go_out
BrowserMatch "NetZip Downloader 1.0" go_out
BrowserMatch "NetZip-Downloader/1.0.62" go_out
BrowserMatch "Teleport Pro/1.29" go_out
BrowserMatch "Teleport Pro/1.24" go_out
BrowserMatch "Teleport Pro/1.26" go_out

Options Includes ExecCGI
AllowOverride None
Order allow,deny
Allow from all
Deny from env=go_out


위와 같이 설정시에는 /home/no-ua/ 디렉토리 이하에 대해서는 go_out 이라는 변수에 지정한 WebZip 이나 Teleport등 UA 프로그램의 접근을 차단하게 된다. 다른 UA도 차단하고 싶으면 위와 같이 웹서버의 로그를 살펴보아 agent 정보에 남는 UA를 go_out 으로 추가해 주면 된다.
같은 방식으로 만약 특정 디렉토리 이하에 대해서 MSIE 브라우저로 접근하지 못하도록 설정한다면 어떻게 하면 될까?
아래와 같이 BrowserMacth 를 이용하여 설정하면 agent 정보에 MSIE 라 설정되는 UA는 차단될 것이다.

BrowserMatch "MSIE" msie

Options Includes ExecCGI
AllowOverride None
Order allow,deny
Allow from all
Deny from env=msie


최근에는 각종 로봇이 버전을 새롭게 하며 계속적으로 나오고 있으므로 지속적으로 로그를 살펴보아 접근 통제를 하고자 하는 UA 를 설정하는 것이 좋다.
2005/07/01 15:17 2005/07/01 15:17
최근에 와레즈 사이트를 통해 게임이나 오락, 동영상등 각종 데이터들이 공유되면서 와레즈 사이트에서 관련 없는 임의의 서버에 데이터를 업로드 한 후 무단 링크하여 서비스하는 경우가 많다. 이러한 경우 데이터 전송량이 갑자기 늘어 서버의 부하가 급격히 올라감은 물론 한정된 회선의 대역폭도 소모하게 되어 서버를 관리하는 관리자들에게는 이러한 무단링크가 큰 골치 거리중에 하나이다.
대부분의 무단 링크가 대용량이기 때문에 이를 차단하기 위해 위와 같이 LimitRequestBody 를 이용하여 임의의 용량 이상의 데이터에 대한 업/다운로드 용량을 제한하는 방법도 있지만 아래와 같이 BrowserMatch 대신 SetEnvIFNoCase Referer 를 이용하는 방법도 있다.
SetEnvIFNoCase Referer "warez" link_deny
SetEnvIFNoCase Referer "free" link_deny
SetEnvIFNoCase Referer "home" link_deny


Order allow,deny
allow from all
deny from env=link_deny


위와 같이 설정시에는 Referer 이 warez 또는 free 나 home 이 포함되었을 경우 이 사이트를 link_deny 라는 변수에 할당하고, 환경 변수가 link_deny 일 때는 확장자가 avi나 mprg,zip,asf 등인 파일에 대한 access 를 제한하고 있다. 따라서 홈페이지 주소에 warez 나 free 또는 home 이 포함된 주소에서 위의 데이터를 무단 링크하였을 경우에는 이를 차단할 수 있다. Nocase 를 추가로 설정하였을 경우에는 대소문자를 가리지 않아 링크하는 사이트가 대소문자에 관계없이 http://my.warez.org/ 나 http://My.Warez.Org/ http://MY.WAREZ.ORG/ 모두 적용된다.
다른 확장자를 추가하고나 설정을 변경하고자 할 경우에는 정규식(Regurar Expression)을 이용하여 설정하면 된다. 또는 이와는 반대로 아예 httpd.conf 에서 아래와 같이 설정할 수도 있다.


ServerAdmin webmaster@domain.co.kr
DocumentRoot /home/tt/public_html
ServerName domain.co.kr
ServerAlias www.domain.co.kr
SetEnvIf Referer domain\.co\.kr link_allow
SetEnvIf Referer www\.domain\.co\.kr link_allow
SetEnvIf Referer ^$ link_allow
Order Deny,Allow
Allow from env=link_allow
Deny from all



위와 같이 설정하였을 경우 외부에서는 mpg, asf, wmv 확장자를 갖는 파일에 대해서는 일체의 무단 자료 링크가 불가능하게 되며 오직 link_allow 에서 지정한 도메인에서만 링크가 가능하게 된다. 위와 같이 설정 후 외부에서 무단 링크를 하였을 때 error_log 를 살펴 보면 아래와 같이 무단으로 링크한 자료의 다운로드가 작동하지 않는 것을 확인할 수 있다.

[Tue Sep 4 15:55:44 2001] [error] [client 211.230.82.78]
client denied by server configuration: /home/domain/public_html/data/3-2.wmv
2005/07/01 15:17 2005/07/01 15:17
분명 데몬은 정상적으로 떠 있고 MaxClients 에 도달하지도 않았는데, 실제로 접속이 되지 않는 경우가 있다. 이러한 경우라면 웹서버가 TCP SYN Flooding 공격을 받고 있을 가능성이 있다. netstat –na | grep SYN 으로 확인하여 많은 SYN_RECEIVED 프로세스가 보인다면 이 공격 때문이며 이러한 경우에는
# sysctl –w net.ipv4.tcp_syncookies=1 또는
# echo 1 > /proc/sys/net/ipv4/tcp_syncookies 로 syncookies 기능을 enable 하면 된다. Syncookie 기능은 일단 커널에서 지원되어야 하므로 이 설정이 적용되지 않으면 커널에서의 설정여부를 확인해 보아야 한다.
2005/07/01 15:17 2005/07/01 15:17
출처: kldp.org

인터넷이 발전함에 따라 많은 사람들이 스팸메일 때문에 고생하고 있습니다. 간단히 이 문제에 대해서 살펴보죠.

여기 스팸 추적과 관련한 간단한 예가 있습니다. (D. J. Vanecek(djv@bedford.net) 제공)


이 스팸은 스팸 헤더에 적힌 시간에 수신되었습니다. 추적은 간단합니다.

| From sales@canus.net Sat Jun 27 02:42:41 1998
| Return-Path:
| Received: XXXXXXXXXXXXXXXXXXXXX CENSORED XXXXXXXXXXXXXXXXXXX

이것은 무시하세요.

| From: sales@canus.net
| Received: from CENSORED XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
| by castor.loco.net (fetchmail-4.3.8 POP3)
| for (single-drop); Sat, 27 Jun 1998 02:42:41 EDT pop을 통해서 메일을 수신했다는 것을 나타냅니다.
| Received: from server ([199.174.152.215]) by XXXXXXXXXXXXXXXXXXXXXXXXXXXX
| with SMTP (IPAD 1.52/64) id 4950800 ; Sat, 27 Jun 1998 02:39:13 EST

이 헤더는 중요한 정보를 담고 있습니다. 이것은 내가 이용하는 ISP 측에서 스패머로부터 메일을 받고 있거나 혹은 스팸메일을 중계해주는 서버로부터 메일을 받고 있다는 것을 나타냅니다. 여기서는 그것이 어느 서버인지 알 수는 없습니다. ISP 에서는 IPAD를 사용하고 있습니다.따라서 우리는 메일 수신 시간이 제대로 되어 있다고 확신할 수가 없게 되었습니다.(중요)


| Date: Sat, 27 Jun 1998 01:00:59

여기서의 날짜는 옳을 수도 있고 그렇지 않을 수도 있습니다. 이 정보는 스팸메일을 추적하는 것과는 아무 상관이 없을지도 모릅니다. 왜냐면 이 정보는 주로 스패머의 시스템에서 생성되기 때문에 믿을 수가 없죠.


| Subject: Need A Loan?
| Message-Id: <199806270639.4950800@XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>
| Apparently-To: XXXXXXXXXXXXXXXXXXXXXXX (me, correct email was here)

To: 헤더가 없는 것으로 봐서 한꺼번에 많은 메일을 날리는 것으로 해석할 수 있습니다.


| Status: RO
|
| Are You in Debt?
|
| If you are then we can help!
| Qualifying is now at your fingertips and there are no
| long distance calls to make or travel plans to arrange.
|
| We are American Capital Corporation, and as you may have seen in our ad,
| you can be loaned up to 125% of the value of your home or up to $100,000.00
| even if you have NO equity in your home!
| There are NO up-front or advanced fees of any kind!
| You can be approved WITHIN 24 hours and
| have your cash in one weeks time!
|
| We will provide you with a FREE loan evaluation, without obligation.
| All you need do is go to our website and answer a short questionnaire.
| One of our registered lenders will assess your information and give you
| a personal call within 48 hours telling you how we can help you!
|
| You are never under any obligation to use our services, but they are
| there for you!
|
| For complete information, please visit our website at:
| http://www.canus.net/amcap/129.html

나중에 이 웹사이트를 방문하게 됩니다.


|
| Our business is helping people. May we help you?

이 스팸메일이 어디로부터 날아왔는지 알아봅시다. 우리는 메일 헤더로부터 199.174.152.215 의 IP 어드레스를 가진 머신이 스팸메일을 날려보내는 데 사용되었음을 알 수 있었습니다. ping 메시지를 보내 보았지만 반응이 없었습니다.

nslookup을 사용해 보니


[djv@castor djv]$ fg -
nslookup
199.174.152.215
Server: localhost
Address: 127.0.0.1

Name: dd35-215.dub.compuserve.com
Address: 199.174.152.215

>

따라서 이 스패머는 컴퓨서브 "throwaway" 계정을 이용하고 있다는 사실을 알아 냈습니다. 이것은 IP 어드레스가 유동적으로 변하는 다이얼업 접속인것 같군요. traceroute을 이용해본 결과 접근이 되지 않는 걸로 봐서 스패머는 어디론가 도망쳤다고 볼 수 있습니다. 비슷한 사이트인 199.174.152.1 로 traceroute 을 적용해볼 결과


[djv@castor djv]$ traceroute 199.174.152.1
traceroute to 199.174.152.1 (199.174.152.1), 30 hops max, 40 byte packets
3 bordercore4-hssi5-0-24.NorthRoyalton.mci.net (166.48.232.97) 159.816 ms 658.176 ms 730.623 ms
4 core2.WillowSprings.mci.net (204.70.4.177) 159.222 ms 158.668 ms 149.832 ms
5 borderx1-fddi-1.WillowSprings.mci.net (204.70.104.52) 239.834 ms 298.712 ms 330.386 ms
6 compuserve.WillowSprings.mci.net (204.70.104.102) 169.325 ms 148.648 ms 149.875 ms
7 core-fddi0.chi.compuserve.net (205.156.223.161) 239.890 ms 158.549 ms 149.933 ms
8 atm1-06-core.dub.compuserve.net (205.156.223.113) 159.801 ms 148.613 ms 149.868 ms
9 fddi0-ppp-2.dub.compuserve.net (205.156.223.72) 149.805 ms 148.702 ms 149.804 ms
10 dub-dial-10.compuserve.net (206.175.65.25) 149.789 ms 148.658 ms 149.977 ms
11 dd10-001.dub.compuserve.com (199.174.152.1) 399.829 ms 478.724 ms 400.485 ms
[djv@castor djv]$

이 결과는 이 스패머가 컴퓨서브 계정을 통해서 스팸을 뿌렸다는 우리의 믿음을 더욱 확고하게 해 줍니다.

그렇지만 이 스패머에 관한 다른 정보는 어디 있나요?

"canus.net" 은 누구입니까? 그쪽도 추적해 보아야 하나요?

"canus.net" 으로 traceroute 명령을 적용해본 결과


| 3 bordercore4-hssi5-0-24.NorthRoyalton.mci.net (166.48.232.97) 169.821 ms 138.943 ms 149.408 ms
| 4 core3.Atlanta.mci.net (204.70.4.9) 279.872 ms 358.830 ms 369.607 ms
| 5 ast-uunet-nap.Atlanta.mci.net (206.157.77.114) 159.785 ms 138.895 ms 159.844 ms
| 6 104.ATM2-0-0.XR1.ATL1.ALTER.NET (146.188.232.50) 139.872 ms 158.687 ms 139.946 ms
| 7 195.ATM5-0-0.GW1.MIA1.ALTER.NET (146.188.232.137) 179.745 ms 188.757 ms 199.900 ms
| 8 bs-miami-gw.customer.alter.net (157.130.65.222) 199.871 ms 208.626 ms 199.989 ms
| 9 207.203.0.160 (207.203.0.160) 199.758 ms 188.954 ms 209.890 ms
| 10 172.25.80.90 (172.25.80.90) 199.859 ms 199.436 ms 199.321 ms
| 11 205.152.190.251 (205.152.190.251) 189.876 ms 218.826 ms 229.904 ms

여기 마지막 부분에 적혀있는 호스트는 IP 어드레스로부터 도메인 네임으로의 변환이 불가능한 호스들이며 마지막 라인은 canus.net 의 IP 어드레스입니다. whois canus.net 을 실행해본 결과는 다음과 같습니다.


| Registrant:
| CanUS Net (CANUS2-DOM)
| 1 First ST West
| Gander, NFL D3K J7P
| CA

여기 적힌 바에 따르면 이 회사는 캐나다에 위치하고 있군요. 사업은 미국에서 하고 있으면서 왜 이렇게 멀리 떨어진 곳에 위치하고 있을까요?


|
| Domain Name: CANUS.NET
|
| Administrative Contact:
| Franklin, Bob (BF3584) dehal@USA.NET
| 360-695-3850
| Technical Contact, Zone Contact:
| Franklin, Bob (BF3585) dontcomplaintome@USA.NET

전자우편 주소가 나와 있으니 좋은 단서가 될수 있습니다.


| 360-695-3850
| Billing Contact:
| Franklin, Bob (BF3584) dehal@USA.NET
| 360-695-3850

여기 전자우편 주소가 USA.NET이라는 사실에 주목해야 합니다. 그들은 자신들이 등록한 도메인의 전자우편 주소를 이용하지 않고 있으며 고정된 이메일 주소를 이용하지 않습니다. 여기 적혀있는 전화번호 또한 허위일 가능성이 매우 높죠. 여기 적혀있는 사람(Bob Franklin)이 스패머입니다.

이 사람은 모든 연락을 거부합니다. 전화도, 메일도, 다른 어떤 방법으로도 연락이 되지 않습니다. 스팸 메일을 뿌리는 사람들의 전형적인 특징이죠.

스팸메일을 뿌리고자 하는 나라가 아닌 다른 나라에 위치한다. 컴퓨서브나 아메리카 온라인(AOL), 스프린트넷 등의 대형 ISP 계정을 이용한다.


|
| Record last updated on 19-Jun-98.

스팸메일을 위한 도메인이 매우 최근에 개설되었습니다. 겨우 일주일 전이군요. 아마도 이 도메인은 곧 없어져도 괜찮다고 이 스패머는 생각할 것입니다. 이것은 커다란 스팸메일을 뿌리는 사람들의 전형적인 습성입니다.


| Record created on 19-Jun-98.
| Database last updated on 26-Jun-98 04:01:02 EDT.
|
| Domain servers in listed order:
|
| NS1.NAMESERVER1.NET 205.152.190.208
| NS2.NAMESERVER1.NET 205.152.190.209

누군가가 이 스패머에게 DNS 서비스를 제공하고 있습니다. 만약 이 서비스를 제공하는 곳이 믿을만한 곳이라면 그쪽으로 스팸메일을 보내고 있는 도메인에게 서비스를 제공하고 있다고 알려 주어야 합니다.


|
| The InterNIC Registration Services database contains ONLY
| non-military and non-US Government Domains and contacts.
| Other associated whois servers:
| American Registry for Internet Numbers - whois.arin.net
| European IP Address Allocations - whois.ripe.net
| Asia Pacific IP Address Allocations - whois.apnic.net
| US Military - whois.nic.mil
| US Government - whois.nic.gov

이제 누가 이 스패머에게 DNS 서비스를 제공하고 있는지 알아보기 위해 whois 서비스를 이용합니다.


whois 205.152.190.

결과는 다음과 같습니다.


| [No name] (MORR-HST) MORRISON.PHICOM.NET 205.152.190.130
| [No name] (DRAKE4-HST) DRAKE.PHICOM.NET 205.152.190.131
| [No name] (NS19481-HST) NS.DCSOUTHFLORIDA.COM 205.152.190.2
| [No name] (NS41802-HST) NS1.NAMESERVER1.NET 205.152.190.208
| [No name] (NS42268-HST) NS2.NAMESERVER1.NET 205.152.190.209
|
| To single out one record, look it up with "!xxx", where xxx is the
| handle, shown in parenthesis following the name, which comes first.
|
| The InterNIC Registration Services database contains ONLY
| non-military and non-US Government Domains and contacts.
| Other associated whois servers:
| American Registry for Internet Numbers - whois.arin.net
| European IP Address Allocations - whois.ripe.net
| Asia Pacific IP Address Allocations - whois.apnic.net
| US Military - whois.nic.mil
| US Government - whois.nic.gov
|

"Phicom.net" 에서 이 스패머에게 DNS 서비스를 제공해 주고 있는것 같습니다. 여기는 또 어떤 곳인지 알아보기 위해 whois 서비스를 또 이용합니다.


whois phicom.net

| Registrant:
| Phicom, Inc (PHICOM-DOM)
| 1370 W. Flagler St Suite C
| Miami, Florida 33135

주소에 적힌 대로 플로리다주 마이애미에 위치한 임대 사무실에 있군요. 아마도 스패머는 이곳에 살고 있을 가능성이 매우 높습니다.


|
| Domain Name: PHICOM.NET
|
| Administrative Contact, Technical Contact, Zone Contact:
| Dominguez, Alvio (AD1820) Alvio124@PHICOM.NET
| 305-642-2638 (FAX) 305-541-0608
| Billing Contact:
| Baptista, Daniel (DB5797) Daniel34@PHICOM.NET
| 305-642-2638 (FAX) 305-541-0608
|
| Record last updated on 30-Apr-97.
| Record created on 02-Apr-97.
| Database last updated on 26-Jun-98 04:01:02 EDT.

이곳은 등록한지 일년이 넘었군요. 여기서는 스팸메일을 한번 뿌리고 치고 빠지기 식의 그런 행동은 하지 않을 것입니다.


|
| Domain servers in listed order:
|
| MORRISON.PHICOM.NET 205.152.190.130
| DRAKE.PHICOM.NET 205.152.190.131
|
|
| The InterNIC Registration Services database contains ONLY
| non-military and non-US Government Domains and contacts.
| Other associated whois servers:
| American Registry for Internet Numbers - whois.arin.net
| European IP Address Allocations - whois.ripe.net
| Asia Pacific IP Address Allocations - whois.apnic.net
| US Military - whois.nic.mil
| US Government - whois.nic.gov

이제 www.phicom.net 으로 lynx 웹브라우저를 이용해서 한번 접속해 보겠습니다. 홈페이지가 있을것 같은데 다음과 같은 내용의 홈페이지를 가지고 있군요.


|
| [INLINE] 1380 W. Flagler St. Miami, FL 33135 1(888) 642-2NET (305)
| 642-2638

NIC 에 등록된 정보와 일치합니다.


|
| You are the [INLINE] visitor to our site.
|
| * World Wide Internet/Access * U.S. Robotics X 2 technology * Local /
| Wide / Global Area Networks * Hardware / Software Sales * Web Site
| Hosting & Construction * Service Repair Center * IBM Business Partner
| * Hewlett Packard Warranty Service Center
|
|
|

여기는 합법적인 ISP 인것 같습니다. 하드웨어 관련 사업도 함께 하고 있군요. IBM이나 HP같은 대형 회사의 계열 회사라면 이곳이 스팸메일을 위한 도메인으로 활용되진 않을 가능성이 크죠. 따라서 이쪽에다 스패머에게 DNS 서비스를 제공하고 있는 것에 대해 알려 주어야 합니다.

스팸메일에 적혀있는 웹페이지는 어디일까요? 거기도 한번 방문해 봅시다. http://www.canus.net/amcap/129.html 이었죠. 거기로 가보겠습니다.


| [INLINE]
| Mortgage Services
|
|
|
| Are you in debt?
|
| If you are then we can help. Qualifying is now at your fingertips and
| there are no long distance calls to make or travel plans to arrange.
|
| As you may have seen in our ad you can be loaned up to 125% of the
| value of your home or $100,000.00 even if you have NO equity in your
| home. There are no up-front or advanced fees of any kind. You can be
| approved within 24 hours and have your cash in one weeks time.
|
| In order for us to provide you with a FREE loan evaluation we must ask
| for the following so that a representative can contact you via the
| telephone within 24-48 hours.
| * indicates required fields
| *Name ____________________
| *Address ____________________
| ____________________
| *City ____________________ *State ___ *Zip __________
| *Home Phone ____________________
| Work Phone ____________________
| *Email Address ____________________
| Best Time to Call ____________________
| Type of Home [None Selected......]
| Estimated Value of Home ____________________
| Current Debt Against
| Home(Loan Balance): ____________________
| Type of Loan Requested [None Selected.....]
| Amt. of Loan Requested ____________________
| Total Household Income ____________________
| Credit Rating [None Selected]
|
| To send this information to American Capital, press the Submit button;
| To clear this form and start again, press the Reset button.


그들은 여러분의 신상에 관한 자세한 정보를 요구하면서도 자신들에 대해서는 별로 밝히지 않고 있습니다. 조심해야 합니다.


|
| SubmitReset
|
| About our company:
|
| We are a FREE national referral service for homeowners seeking to
| consolidate their bills. We have a network of affiliated companies
| that are regarded as the best and most respected mortgage banking
| companies in the country. You can rest assured that you are in good
| hands and will receive extraordinary service with our affiliated
| companies, for we only allow in our association and work with the
| absolute best companies in the nation.
|
| You may reach us at:
|
| American Capital Mortgage Services
| 1-212-796-6549
|
|
| We do not promote SPAM or UBE.
| Please be assured that we are doing everything we can
| to ensure that our users do not abuse this policy.
|

이쪽으로 어떻게 접속할 수 있는지 알아보기 위해 traceroute 을 사용해 보겠습니다.


[djv@castor djv]$ traceroute www.canus.net
traceroute to www.canus.net (205.152.190.251), 30 hops max, 40 byte packets

4 core3.Atlanta.mci.net (204.70.4.9) 209.895 ms 158.635 ms 199.880 ms
5 ast-uunet-nap.Atlanta.mci.net (206.157.77.114) 199.820 ms 148.672 ms 139.873 ms
6 104.ATM2-0-0.XR1.ATL1.ALTER.NET (146.188.232.50) 189.844 ms 168.612 ms 149.935 ms
7 195.ATM5-0-0.GW1.MIA1.ALTER.NET (146.188.232.137) 209.791 ms 198.624 ms 199.881 ms
8 bs-miami-gw.customer.alter.net (157.130.65.222) 199.831 ms 198.651 ms 199.884 ms
9 207.203.0.160 (207.203.0.160) 209.834 ms 160.053 ms 199.343 ms
10 172.25.80.90 (172.25.80.90) 209.514 ms 209.896 ms 179.381 ms
11 205.152.190.251 (205.152.190.251) 209.781 ms 168.693 ms 199.847 ms

[djv@castor djv]$

205.152.190.251 는 phicom.net 아래에 있다는 것을 알게 되었습니다. 그러므로 phicom.net 은 DNS 서비스뿐만 아니라 실제 인터넷 접속까지 함께 제공하고 있는 셈이죠.

이제 거의 다 잡은 셈입니다.

우리는 이 스패머가 사용하고 있는 usa.net 과 컴퓨서브로 스패머가 있다는 사실을 알려줄 수 있고 스패머가 실제로 사용하고 있는 phicom.net 에도 같은 사실을 알려주는 등의 행동을 취할 수 있습니다.

usa.net 이나 컴퓨서브 에서는 스패머의 계정을 취소할 수 있습니다만 phicom.net 에서는 자신들이 스패머에게 이용당하고 있다는 사실조차 모르고 있을 가능성도 있습니다. 스패머들에 대해서 무지한 ISP 도 많이 있기 때문입니다.

스패머에게 스팸메일을 뿌리지 말라고 경고하는 것은 별 의미가 없고, 이쪽에서 할 수 있는 수동적인 조치는 phicom.net 으로부터 송신되는 모든 메일을 거부하도록 설정해 주는 것입니다. 그래서 나중에 phicom.net 으로부터 스패머의 웹사이트가 삭제되었다는 확실한 통지를 받은 후에 다시 메일을 원래대로 받을 수 있도록 설정하는 것 정도가 이쪽에서 할 수 있는 일의 전부입니다.
2005/07/01 15:15 2005/07/01 15:15
아래와 같은 명령어로 확인할 수 있습니다.

/usr/platform/`uname -i`/sbin/prtdiag

*** 실행 예 ***

Solaris% /usr/platform/`uname -i`/sbin/prtdiag
System Configuration: Sun Microsystems sun4u Netra t1 (UltraSPARC-IIi 440MHz)
System clock frequency: 110 MHz
Memory size: 512 Megabytes

========================= CPUs =========================

Run Ecache CPU CPU
Brd CPU Module MHz MB Impl. Mask
--- --- ------- ----- ------ ------ ----
0 0 0 440 2.0 12 9.1


========================= IO Cards =========================

Bus Freq
Brd Type MHz Slot Name Model
--- ---- ---- ---- -------------------------------- ----------------------
0 PCI 66 1 network-SUNW,hme
0 PCI 66 2 scsi-glm/disk (block) Symbios,53C875
0 PCI 66 3 network-SUNW,hme
0 PCI 66 14 ide-pci1095,646/disk (block)

No failures found in System
===========================

혹은 dmesg | grep 'mem =' 와 같이 시스템의 diagnostic messages를 확인하기도 합니다.
2005/07/01 15:14 2005/07/01 15:14
시스템 관리하면서 일정기간 동안 접근하지 않은 파일을 자동으로 삭제해 주는 명령어
입니다.

일정 기간과 파일명으로 설정해서 삭제가 가능하고요

각종 로그를 삭제하는데 도움이 되겠더군요.

#find /var/spool/mail -atime +5 -exec rm {} \;

/var/spool/mail 아래 있는 디렉토리에서 5일동안 접근하지 않는 파일(-atime +5)은
삭제하라는 명령어 입니다.
-exec 라는 옵션이 다음 명령어를 실행시킨다는 것이죠.

rm 명령어 말고 다른 명령어를 넣어 실행을 해두 됩니다.
2005/07/01 15:14 2005/07/01 15:14
Feb 14 17:12:21 manager sendmail[10038]: [ID 801593 mail.crit] g1D5f4L09430: SYSERR(root): NIS map mail.aliase
s specified, but NIS not running



======>>>>>>>> 해결 책.
NIS 를 사용하지 않으면서 NIS를 참조하도록 설정한 문제입니다.
문제의 파일은 /etc/nsswitch.conf입니다.
확인하는 방법을 알려드리면
해당 파일을 열어서 aliases줄을 확인하세요.
NIS를 사용하지 않는다면 files만 있어야 합니다.
nis나 nisplus가 있으면 그러한 메세지를 내보냅니다.
해결방법은
1. /etc/nsswitch.dns파일을 /etc/nsswitch.conf로 바꾸고 시스템을 재시작
하면 됩니다.
2. 변경된 내용이 있다면 aliases줄을
aliases: files
로 바꾸세요.
역시 시스템 재부팅입니다.
2005/07/01 15:13 2005/07/01 15:13
netstat 를 이용하여 간단하게 현재 포트를 감시할수 있습니다.
(포트 스캐닝은 잘 알려져있듯이 크래커들이 쓰는 첫번째 방법입니다.)

시스템에서 현재 열려져 있는 포트 보여주기
#netstat -nlt
n : numeric - 주소를 보여줍니다.
l : listen - 열려진 포트
t : tcp - tcp 연결 상태

[ user@inethosting /home/user]# netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

위와 같은 경우
즉, 80번(웹) -> 3306 (mysql) -> 22(ssh) 포트가 열려져있다는 것을 보여줍니다.

시스템에서 실제 활동중인 포트 보여주기
#netstat -nat
n : numeric - 주소를 보여줍니다.
a : active - 활동중인 포트
t : tcp - tcp 연결 상태

[ user@inethosting /user]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 206.112.62.102:80 204.210.35.27:3467 ESTABLISHED
tcp 0 0 206.112.62.102:80 208.229.189.4:2582 FIN_WAIT2
tcp 0 7605 206.112.62.102:80 208.243.30.195:36957 CLOSING
tcp 0 0 206.112.62.102:22 10.60.1.18:3150 ESTABLISHED
tcp 0 0 206.112.62.102:22 10.60.1.18:3149 ESTABLISHED
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

3개의 웹 연결과 2개의 ssh 연결을 보여주고 있습니다.

FIN_WAIT2와 CLOSING 및 netstat 의 또 다른 기능은 man netstat을 참조하세요.
2005/07/01 15:13 2005/07/01 15:13

Link 설정(ln) 사용법

FAQ 2005/07/01 15:11
사용법 : ln -s 원본화일(디렉토리) 링크화일

파일연결하기

# echo I am origianl > original

# ln -s original linkfile

# ls -l linkfile


lrwxrwxrwx 1 root root Apr 113 14:41 linkfile -> original

# cat linkfile


I am original

디렉토리 연결하기

# ln -s /usr/bin bin

# ls -ld bin

lrwxrwxrwx 1 root root Apr 113 14:41 bin -> /usr/bin

심볼릭 링크의 응용

디렉토리 이동 후 링크

파일 시스템의 남은 공간이 적을 때, 디렉토리를 다른 파일 시스템으로 이동

디렉토리 이동은 다른 파일시스템에서 옮길 때 mv명령은 실행되지 않는다
2005/07/01 15:11 2005/07/01 15:11
X에서 한영전환키를 쓰는 방법입니다.
다들 알고 계시겠지만....

저는 맨날 Shift+Space만 쓰다가 이걸 쓰니 너무 쑈킹해서... ^^

/etc/X11/Xmodmap파일에다가 다음줄을 추가해 주시면 됩니다.

keycode 122 = Hangul

간단하져... ^^
2005/07/01 15:10 2005/07/01 15:10
■디스켓 부팅

먼저 깨끗한 디스켓을 준비합니다.
네트워크로 부팅을 하고자 하거나, 하드나 시디롬을 통해서 설치를 하려면, 두 개의 디스켓이 필요
합니다.
하지만, 노트북을 사용하여서 PCMCIA장치를 구동시켜서 랜카드나 시디롬, 하드를 사용하려면,
세 장의 디스켓이 필요합니다.

|----> RedHat
|----> RPMS -- 이진패키지
|----> base -- 소형 파일시스템 설정 기록
|----> instimage -- 설치에 사용되는 이미지
|----> images -- 부팅과 램디스크 이미지가 들어 있습니다.
|----> dosutils -- 도스에서 사용하는 설치 유틸리티가 들어 있습니다.
|----> doc -- 영문 매뉴얼과 FAQ, HOWTO가 들어 있습니다.
|----> misc -- 소스파일과 설치 트리가 들어 있습니다.
|----> COPYING -- copyright정보
|----> README -- 트리 정보
|----> RPM-PGP-KEY -- 레드헷 패키지의 PGP signature

위의 디렉토리 구조에서 images디렉토리에 가보면

boot.img -- 하드디스크나 시디롬을 이용할 때 사용하는 부팅디스켓
bootnet.img -- 네트워크를 통한 설치를 이용할 때 사용하는 부팅디스켓
pcmcia.img -- 노트북의 PCMCIA장치를 구동하여 사용하는 부팅디스켓
rescue.img -- 비상시 사용하는 디스켓

이렇게 4개의 이미지 파일이 있는 것을 발견할 수가 있습니다.
여기서 원하는 설치에 따라서 이미지 파일을 골라서 1.44인치 플로피 디스켓에 이미지 파일을
풀어서 부팅 디스켓을 만듭니다.


◆부팅 디스켓을 도스에서 만들기

먼저 dosutils디렉토리에 가면, rawrite.exe라는 프로그램이 들어있습니다. 이 프로그램을 이용해
서 이미지 파일을 플로피 디스켓에 담습니다.

그러면 사용방법을 살펴보기로 하겠습니다.

D:\dosutils>rawrite.exe <-- 실행시킵니다.

Enter disk image source file name : /images/boot.img(\images\boot.img도 사용가능)

Enter target diskette drive: a <- A드라이브이므로 A입력

Please insert a formatted diskette into driver A: and press -ENTER- <-엔터키


◆유닉스나 리눅스에 부팅 디스켓 만들기

이미 사용자가 유닉스나 리눅스를 사용한다면 아주 간단하게 부팅 디스켓을 만들 수가 있습니다.
먼저, /dev/fd0장치를 이용할 수 있는 사용자나 루트로 로그인을 합니다.
그런 다음에 해당 이미지가 있는 프롬프트에서 아래와 같이 실행합니다.

[root@localhost boot]# dd if=boot.img of=/dev/fd0
2005/07/01 15:08 2005/07/01 15:08
리눅스 커널을 보시면 숫자가 쫙있죠..

리눅스 커널의 버전 번호에는 많은 의미를 담고 있읍니다.

ㅇ 커널 버전 번호 형태: X.Y.Z
- X : 주 버전번호
- Y : 부 버전번호
- Z : 개정 번호(Z번의 버그 수정을 했다는 표시)

ㅇ 안정버전/개발버전
- 안정버전: Y(부 버전번호)가 짝수
- 개발버전: Y(부 버전번호)가 홀수

예) 현재의 안정커널 2.2.16으로 16번의 버그 수정을 했음
현재의 개발커널 2.3.99로 99번의 버그 수정을 했음

* 현재 설치된 리눅스 커널 버전 확인 하는 방법은....

"$ uname -a"명령을 수행하면 다음과 같은 메시지가 출력됩니다.

"Linux southpole 2.2.14-5.0smp #1 SMP Tue Mar 7 21:01:40 EST 2000 i686 unknown"

리눅스로 호스트명은 southpole이며, 커널은 2.2.14로 다섯번째 컴파일되었으며, SMP기능(여러개의 CPU)을 지원하며, 5월7일 컴파일되었다는 표시입니다.

참고: uname - 시스템 정보를 출력하는 명령
2005/07/01 15:07 2005/07/01 15:07
sendmail 이 작동하지 않는 경우는 주로 2가지이다.

첫번째는, 시스템의 부하율인 Load Average 가 높아져 sendmail 이 작동하지 않는 경우이고 두번째는 sendmail 에서 받는 메일이 저장되는 /var 파티션이 100%가 되었을 경우이다.
Sendmail 은 기본적으로 시스템의 Load Average 수치가 12를 초과하였을 경우에는 자동으로 작동하지 않게 되는데 이는 sendmail이 서비스 거부 공격등으로 시스템의 부하가 높아졌을 때 sendmail 로 인하여 시스템이 다운되는 것을 막기 위한 조처이다.
이 값을 수정하려면 sendmail.cf의
# load average at which we refuse connections
O RefuseLA=12
에서 수정한 후 killall –HUP sendmail 로 재실행해 주면 되고, 이 값은 각각의 시스템에 따라 적절히 조정하면 된다. 만약 현 시스템의 특성상 늘 부하가 높아 로드가 자주 12를 초과한다면 이 값을 각자의 시스템 환경에 맞게 적절히 조절하여야 외부에서 오는 메일을 받을 수 있게 된다.(서버에서 25번 포트로 바인딩하고 있어야 외부에서 오는 메일을 수신할 수 있다.) 그리고 메일이 저장되는 /var/spool/mail 파티션이 가득 찼을 경우(파티션 100%) 에도 sendmail 이 작동하지 않으므로 파티션이 가득 찼을 경우에는 /var/log/ 등에서 불필요한 데이터를 삭제하여 /var/spool/mail 이 포함된 파티션이 100% 를 넘지 않도록 하여야 한다. 용량 정리를 하여 파티션이 100%가 넘지 않으면 sendmail 이 자동으로 살아나는 것을 알 수 있다.
또한 시스템의 Load Average 가 8을 넘으면 서버를 통해 메일을 발송해도 메일을 통해 바로 전송되지 않고 일단 서버의 메일 큐에 저장이 된 후에 발송이 되게 된다. 이 역시 같은 이유 때문인데 이 수치는 sendmail.cf 의

# load average at which we just queue messages
O QueueLA=8
에서 적절히 설정하면 된다.
참고로 현재 시스템의 Load Average는 w 명령어를 이용하여 확인 가능하다.
w 를 이용시 시스템의 Load Average 는 0.25, 0.40, 0.43 와 같이 보이는데 이는 각각 현재를 기준으로 지난 1분, 5분, 15분간의 평균 시스템 부하율을 나타낸다.
2005/07/01 15:07 2005/07/01 15:07
compress, uncompress


가장 오래된 압축유틸리티이며 특히 오래전에 압축된 파일들은 거의 대부분 이 유틸리티를 활용하여 압축되어 있습니다.

파일의 끝에 Z가 붙어 있는 압축파일들은 compress로 압축된 것입니다.

일반사용자들 보다 서버관리자가 필히 알아두어야 할 유틸리티입니다.

사용법은 매우 간단하며 예를 들어 보겠습니다.


[sspark@nice dat]$ ls -l

total 44

-rw-r--r-- 1 sspark sspark 5847 Jan 27 10:37 browser.html

-rw-r--r-- 1 sspark sspark 5879 Jan 27 10:37 host.html

-rw-r--r-- 1 sspark sspark 8295 Jan 27 10:37 hour.html

-rw-r--r-- 1 sspark sspark 858 Dec 7 04:02 log.range

-rw-r--r-- 1 sspark sspark 10733 Jan 27 10:37 page.html

[sspark@nice dat]$

[sspark@nice dat]$

[sspark@nice dat]$ compress *

[sspark@nice dat]$

[sspark@nice dat]$ ls -l

total 20

-rw-r--r-- 1 sspark sspark 2999 Jan 27 10:37 browser.html.Z

-rw-r--r-- 1 sspark sspark 2866 Jan 27 10:37 host.html.Z

-rw-r--r-- 1 sspark sspark 3745 Jan 27 10:37 hour.html.Z

-rw-r--r-- 1 sspark sspark 436 Dec 7 04:02 log.range.Z

-rw-r--r-- 1 sspark sspark 4093 Jan 27 10:37 page.html.Z




compress로 압축하기전의 용량과 압축후에 생성된 용량을 확인해 보시기 바랍니다.

압축된 후의 용량이 압축전의 용량의 절반쯤됩니다.

즉 압축률이 50%쯤이라고 볼 수 있죠.


그리고 압축이 된후에는 각각의 파일에 .Z라는 확장자가 붙게됩니다.

이는 compress로 압축되었음을 의미하는 것입니다.

압축을 해제하는 방법은 다음과 같습니다.




[sspark@nice dat]$ uncompress *

[sspark@nice dat]$

[sspark@nice dat]$ ls -l

total 44

-rw-r--r-- 1 sspark sspark 5847 Jan 27 10:37 browser.html

-rw-r--r-- 1 sspark sspark 5879 Jan 27 10:37 host.html

-rw-r--r-- 1 sspark sspark 8295 Jan 27 10:37 hour.html

-rw-r--r-- 1 sspark sspark 858 Dec 7 04:02 log.range

-rw-r--r-- 1 sspark sspark 10733 Jan 27 10:37 page.html


compress로 압축된 파일은 반드시 uncompress로 압축해제를 해야합니다.

uncompress는 파일이 .Z로 끝나는 것만을 찾아서 압축해제를 해줍니다.
2005/07/01 15:06 2005/07/01 15:06

tar 로 파일 묶기

FAQ 2005/07/01 15:06
tar 로 파일 묶기

tar는 여러개의 파일을 하나의 파일로 묶을 수 있으며 묶여진 파일을 다시 풀수 있는 유틸리티입니다.

또한 묶여진 파일을 풀기전에 어떤파일들이 묶여져 있나를 확인해 볼 수도 있습니다.

먼저 tar파일의 사용형식은 다음과 같습니다.




일반형식 : # tar [옵션] 대상파일




tar를 사용할때에는 여러 가지 옵션에 대해서 알아야합니다.

tar의 옵션에는 약 40여개의 옵션이 있습니다.

하지만 이들 모든 옵션을 모두 사용하는 것은 아니며 중요하고 자주 사용하는 몇 개의 옵션만을 알아두면 됩니다.

그리고 필요한 옵션은 그때그때 메뉴얼(man tar)을 사용하여 참조한 후에 사용하시면 됩니다.


c : tar파일을 생성할때(여러개의 파일을 하나의 파일로 묶을 때) 반드시 사용

d : tar파일과 해당 파일시스템간의 차이점을 확인하고자 할 때 사용

r : tar파일에 다른파일들을 추가하고자 할 경우에 사용

t : tar파일의 내용을 확인하고자 할 때 반드시 사용

f : tar파일을 사용할때에는 반드시 사용

p : tar파일을 생성할때(묶을 때) 당시의 파일퍼미션을 그대로 하여 풀어줄 때 사용

v : 묶을때나 풀어줄 때 파일들의 내용을 자세하게 보려고 할 때 사용

Z : compress로 압축파일을 사용할 때 압축이나 해제까지 한번에 할 때 사용

z : gzip과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용




tar로 파일작업을 하는 경우에는 다음의 세경우가 있습니다.

즉, 첫 번째가 여러개의 파일 및 디렉토리들을 하나의 tar파일로 묶는 경우이며, 두 번째가 이렇게 묶은 tar파일을 다시 풀어준 경우이며, 세 번째의 경우가 묶여져 있는 파일의 내용을 확인하는 것입니다. 즉,


묶을 때 : # tar cvf 압축파일.tar 압축대상파일 및 디렉토리
확인할 때 : # tar tvf 압축파일.tar
풀 때 : # tar xvf 압축파일.tar

각각의 경우에 대한 예를 들어 보겠습니다.



[sspark@nice dat]$ ls -l

total 44

-rw-r--r-- 1 sspark sspark 5847 Jan 27 10:37 browser.html

-rw-r--r-- 1 sspark sspark 5879 Jan 27 10:37 host.html

-rw-r--r-- 1 sspark sspark 8295 Jan 27 10:37 hour.html

-rw-r--r-- 1 sspark root 858 Dec 7 04:02 log.range

-rw-r--r-- 1 sspark sspark 10733 Jan 27 10:37 page.html

[sspark@nice dat]$ tar cvf myhome.tar *

browser.html

host.html

hour.html

log.range

page.html


위의 예는 현재 디렉토리내에 있는 모든파일 및 디렉토리들을 myhome.tar라는 파일하나로 묶어라는 것입니다.

원본파일들은 그대로 존재하게되며 myhome.tar라는 파일이 새로 생성되어 그 파일내에 모든파일 및 디렉토리들이 들어가게 됩니다.

c옵션을 반드시 사용하셔야합니다.




[sspark@nice dat]$ tar tvf myhome.tar

-rw-r--r-- sspark/sspark 5847 2000-01-27 10:37 browser.html

-rw-r--r-- sspark/sspark 5879 2000-01-27 10:37 host.html

-rw-r--r-- sspark/sspark 8295 2000-01-27 10:37 hour.html

-rw-r--r-- sspark/root 858 1999-12-07 04:02 log.range

-rw-r--r-- sspark/sspark 10733 2000-01-27 10:37 page.html




이 예는 myhome.tar라는 tar파일에 어떤파일들이 묶여져 있나를 확인해 본 것입니다.

t옵션을 반드시 사용하셔야 합니다.



[sspark@nice dat]$ ls -l

total 40

-rw-rw-r-- 1 sspark sspark 40960 Jan 27 10:38 myhome.tar

[sspark@nice dat]$

[sspark@nice dat]$ tar xvf myhome.tar

browser.html

host.html

hour.html

log.range

page.html


마지막예로서 myhome.tar에 묶여져 있는 파일들을 현재 디렉토리에 풀어준 것입니다.

x옵션을 반드시 사용하셔야합니다.
2005/07/01 15:06 2005/07/01 15:06

마운트에 관하여

FAQ 2005/07/01 15:05
마운트에 관하여


윈도우95/98/NT에서는 플로피나 CD-ROM 같은 장치들은 시스템이 부팅이 되면서 거의 대부분 자동으로 인식되므로 부팅 후에는 바로 사용할 수 있다. 또한 새로 설치한 하드웨어장비는 PnP(Plug and Play)라는 기능에 의해 대부분 자동으로 인식하게 된다. 물론 리눅스에서도 PnP기능을 지원하지만 아직은 지원하는 하드웨어가 많지 않으므로 시스템 부팅후에 수동으로 마운트(mount)라는 작업을 해서 사용을 하고 사용이 끝난 후에는 언마운트(umount)를 시켜야 한다. 지금 설명코자하는 것이 이 마운트에 관한 것이다.


쉽게 설명해서 마운트는 특정 디바이스(device)를 특정 디렉토리처럼 사용하기 위해 장치와 디렉토리를 연결하는 작업을 말한다. 여기에는 플로피드라이브와 CD-ROM드라이브등의 디바이스들이 마운트를 해서 사용한다.


자, 그럼 마운트하는 방법을 알아보도록 하자. 리눅스에서 마운트 명령어의 사용형식은 다음과 같다.

mount -a [-fFnrsvw] [-t vfstype]

mount [-fnrsvw] [-o options [,...]] device | dir

mount [-fnrsvw] [-t vfstype] [-o options] device dir


그냥 mount라고 하면 현재 마운트되어 있는 정보를 볼 수 있다.



[root@ciss9 /]# mount

/dev/ida/c0d0p1 on / type ext2 (rw)

none on /proc type proc (rw)

/dev/ida/c0d2p1 on /home type ext2 (rw)

/dev/ida/c0d1p1 on /usr type ext2 (rw)

none on /dev/pts type devpts (rw,mode=0622)




첫 번째 열은 디바이스이름이며 두 번째는 마운트 포인트(디렉토리명)이며 세 번째는 파일시스템타입이며 괄호안의 내용은 읽고 쓸수있는가의 여부이다. 자, 그럼 이제 가장 빈번하게 쓰이고 있는 CD-ROM을 마운트해 보자.



[root@ciss9 /]# mount -o ro /dev/cdrom /mnt/cdrom

[root@ciss9 /]#

[root@ciss9 /]# umount /mnt/cdrom





CD-ROM을 마운트 한 것이다. 이렇게 마운트한 다음에는 "mnt/cdrom 디렉토리로 가서 CD-ROM을 읽을 수 있다. 위의 예에서 -o ro는 CD-ROM은 읽을 수만 있으므로 옵션을 ro(read-only)로 준 것이다. 이 옵션을 주지 않아도 리눅스는 알아서 마운트를 시켜주지만 mount: block device /dev/cdrom is write-protected, mounting read-only과 같은 경고를 보여준다.



[root@ciss9 /]# umount /mnt/cdrom






그리고 마운트를 한 다음에는 CD-ROM을 뺄 수 없으며, 위의 예처럼 언마운트(umount)를 하면 마운트가 해제되고 CD-ROM을 뺄 수 있다.



이렇게 운용자가 직접 마운트를 시켜줘야 쓸 수 있는 장치가 있는 반면 시스템이 부팅되면서 자동으로 마운트를 시켜주는 것이 있다. 시스템에 꼭 필요한 디바이스같은 경우에는 부팅시에 자동으로 마운트를 시켜주어야 한다. 어떤 디바이스를 부팅과정에서 마운트를 시킬 것인가에 대한 설정은 /etc/fstab파일에 되어있다. 이 파일을 보통 파일시스템 테이블이라고 부른다.




[root@ciss9 /etc]# cat fstab

/dev/ida/c0d0p1 / ext2 defaults 1 1

/dev/ida/c0d2p1 /home ext2 defaults 1 2

/dev/ida/c0d1p1 /usr ext2 defaults 1 2

/dev/ida/c0d0p5 swap swap defaults 0 0

/dev/fd0 /mnt/floppy ext2 noauto 0 0

/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0

none /proc proc defaults 0 0

none /dev/pts devpts mode=0622 0 0





첫 번째 열은 디바이스명을 나타낸다. /dev 디렉토리에는 이들 디바이스파일들이 지정되어 있다. 두 번째 열은 마운트포인트(디바이스와 연결하여 사용할 디렉토리경로)이며 세 번째 열은 파일시스템 타입이다. 그리고 네 번째 열에서 defaults라고 되어있으면 부팅과정에서 자동으로 마운트가 되며, noauto라고 되어있는 경우에는 직접 마운트를 시켜서 사용해야 한다. noauto로 되어 있는 경우에 마운트를 시키는 방법은 매우 간단하다. 아래와 같이 "mount 마운트포인트"라고 하면 /etc/fstab에 지정되어 있는 디바이스로 자동으로 마운트를 시켜준다. 예를 들어보자.




[root@ciss9 /]# mount /mnt/cdrom




/mnt/cdrom는 /etc/fstab에서 /dev/cdrom 디바이스가 지정되어 있으므로 이 디바이스로 마운트를 시켜준다.
2005/07/01 15:05 2005/07/01 15:05
사용자들은 지금 어떤 작업을 하고있나? w


w는 working의 약어로 현재 시스템에 접속해 있는 사용자들과 이들이 어떤 일을 하고 있는가를 확인해 보는 명령어이다. 다음의 예를 보면 알겠지만 출력결과에는 다음과 같다.



[root@ciss9 /root]# w

12:27am up 37 days, 9:44, 4 users, load average: 1.72, 1.70, 1.64

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 :0 6Sep99 37days 0.03s 0.03s bash

root pts/1 :0 6Sep99 2days 0.87s 0.00s nslookup

sspark pts/2 128.134.23.176 12:13am 0.00s 0.16s 0.04s telnet 168.126.72.51

sspark pts/3 ciss9 12:21am 0.00s 0.17s 0.02s w




① 누가 로그인해 있는가?

② 어떤 터미널 타입을 사용하는가?

③ 어디에서 로그인했는가?

④ 언제 로그인했는가?

⑤ 현재까지 얼마동안 로그인해 있는가?

⑥ 무엇을 하고 있는가?
2005/07/01 15:04 2005/07/01 15:04
시스템 모니터링 및 프로세스관리


이번에는 시스템의 여러 가지 상황에 대해서 알아볼 수 있는 모니터링에 관한 명령어에 대해서 알아보도록 하겠다. 시스템 관리자에게는 정기적으로 이들 명령어를 통하여 시스템의 현 상황을 체크하고 이상 발견시에는 적절한 조치를 취할 수 있어야 한다.


리눅스는 배포판에 따라 이들 명령어도 조금씩의 차이는 있다. 여기서 소개하는 모니터링 명령어들은 거의 모든 리눅스배포판 뿐만아니라 유닉스나 솔라리스에서도 쓸 수 있는 것들이다.


● 프로세스 확인하기 ps


ps는 프로세스를 확인해 주는 것으로 일반적으로 다음과 같이 사용하며 확인코자하는 프로세스명을 다음과 같이 적어주면 이에 대한 정보를 보여준다.

즉, 프로세스 실행자, PID, 실행일시, 프로세스명등을 보여준다.




[sspark@ciss9 ~]$ ps -ef | grep sendmail

root 22065 1 0 Sep17 ? 00:00:05 sendmail: accepting connections

sspark 25209 25195 0 Sep25 pts/3 00:00:00 grep sendmail





● 시스템의 평균 로딩율(부하율) uptime


시스템의 현재 부하율을 보려면 간단히 uptime이라고 하면 결과를 간단히 확인할 수 있다.



[sspark@ciss9 ~]$ uptime

12:23am up 37 days, 9:40, 4 users, load average: 1.86, 1.73, 1.66




맨 끝의 3개의 숫자들은 각각 지난 1분, 5분, 15분동안의 시스템 부하율을 각각 평균하여 나타내고 있는 것이다.




● 전반적인 시스템 점검 top


top은 유닉스와 리눅스에서 ps 다음으로 많이 쓰이는 시스템 모니터링을 위한 명령어로 그냥 "top"이라고만 하면 시스템의 현상황을 적나라하게(?) 보여준다.

"top"은 기본값으로 5초(유닉스에서는 2초)에 한번씩 refresh를 하여 다시 디스플레이 하여주며 "top -d 초"(유닉스에서는 "top -s 초")를 지정하면 지정한 초에 한번씩 refresh를 하여준다.



[sspark@ciss9 ~]$ top

12:23am up 37 days, 9:40, 4 users, load average: 1.85, 1.73, 1.65

84 processes: 79 sleeping, 5 running, 0 zombie, 0 stopped

CPU states: 0.0% user, 0.5% system, 0.1% nice, 0.2% idle

Mem: 582248K av, 153808K used, 428440K free, 73492K shrd, 55652K buff

Swap: 526296K av, 0K used, 526296K free 56632K cached


PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND

726 root 14 0 11160 10M 2264 R 0 48.7 1.9 26387m X

25210 sspark 3 0 1028 1028 832 R 0 2.8 0.1 0:00 top

304 root 0 0 604 604 492 S 0 0.0 0.1 1:04 syslogd

315 root 0 0 752 752 388 S 0 0.0 0.1 0:00 klogd

329 daemon 0 0 472 472 400 S 0 0.0 0.0 0:00 atd

343 root 0 0 596 596 504 S 0 0.0 0.1 0:04 crond

375 root 0 0 1176 1176 748 S 0 0.0 0.2 4:20 snmpd
2005/07/01 15:04 2005/07/01 15:04
여러개의 파일을 하나로 합치기


몇 개의 파일을 하나로 합쳐야 할 경우에 앞에서 보았던 cat이란 명령어로 다음과 같이 할 수 있다.



[sspark@ciss9 testpass]$ cat aaa

a1

a2

[sspark@ciss9 testpass]$ cat bbb

b1

b2

[sspark@ciss9 testpass]$ cat aaa bbb > ccc

[sspark@ciss9 testpass]$ cat ccc

a1

a2

b1

b2




위의 예는 ccc라는 파일속에 aaa와 bbb를 합쳐서 넣은 결과를 보여주고 있다.

이때 나열한 파일 순서대로 입력되며 원래의 aaa, bbb파일은 그대로 존재하게 된다.
2005/07/01 15:04 2005/07/01 15:04
쉘변경 : chsh

쉘이란 OS명령어를 해석해주고 사용자의 사용환경을 제공해주는 것으로 DOS의 command.com의 역할을 한다고 할 수 있다.

자신이 사용하는 쉘을 변경할 수 있다.

쉘의 종류에는 다음과 같은 것들이 있으며 바꾸는 방법은 change shell의 약자인 "chsh"이다.

시스템에서 제공하는 쉘의 종류는/etc/shells에 들어 있다.


/bin/bash, /bin/sh, /bin/ash, /bin/bsh, /bin/bash2,/bin/tcsh, /bin/csh, /bin/ksh, /bin/zsh



[sspark@ciss9 /etc]$ chsh

Changing shell for sspark.

Password: *****

New shell [/bin/bash]: /bin/csh

Shell changed.





root로 작업을 할 때는 기존 패스워드 입력없이 새로운 패스워드만 입력을 해주면 된다.
2005/07/01 15:03 2005/07/01 15:03