'Linux'에 해당되는 글 50건

  1. 2011/01/05 boyo 리눅스 커맨드상에서 팁
  2. 2011/01/05 boyo 리눅스 지원되는 언어 확인 및 설정
  3. 2010/12/13 boyo 리눅스 mail 보내기
  4. 2010/12/09 boyo /boot/grub/menu.lst
  5. 2010/12/09 boyo 보안을 위한 /etc/sysctl.conf 파일 수정
  6. 2010/12/07 boyo 확장모듈 설치 방법
  7. 2010/11/25 boyo sendmail 큐 내용 확인
  8. 2010/11/04 boyo 우분투 iptables 설정하기
  9. 2010/10/27 boyo nginx
  10. 2010/10/27 boyo PHP 가속 프로그램 eaccelerator

df, du 차이점

Linux 2011/06/11 16:18

df 와 du 확인시 용량이 다르게 확인되는 경우가 있다.
이것은 df은 파일의 용량을 체크 하는 것으로 정확하며,
du 는 실직적으로 사용되는 있는 데이터 공간만 확인하는 것이다.

100M의 파일이 있을 경우 실직적으로 데이터가 쓰여져 있는 공간은 50M뿐이라면
df 에서는 100M 로 인식하고 du에서는 50M가로 보여지는 것이다.

2011/06/11 16:18 2011/06/11 16:18

우분투에서 재부팅만 하면 resolv.conf 파일이 초기화 되어 지는 것을 확인 되었다.
문제는 GNOME 설치로 인하여 NetworkManager 패키지가 설치가 되면서 DHCP 로 네트워크 설정을 하게 되어 있어,
재부팅시 네트워크 설정을 하면서 resolv.conf 파일을 초기화 했던 것이다.
이상하게도 DHCP 설정이 되어 있어 resolv.conf 파일은 초기화 되었는데 /etc/network/interface 설정은 변경이 되지
않았다는 것이다.

resolv.conf 파일이 NetworkManager 로 수정되었다면 파일 최상단에 # Generated by NetworkManager 글이 보일 것이다.

무튼 /etc/resolv.conf  +i 속성을 주어서 마무리 하였다.

2011/05/26 23:15 2011/05/26 23:15

tcpdump 사용 방법

Linux 2011/05/21 16:35
tcpdump -nn host 192.168.0.1 and port 80

목적지 주소가 192.168.0.1 이고 포트가 80번 인 패킷을 확인
2011/05/21 16:35 2011/05/21 16:35

rpm 옵션

Linux 2011/01/19 14:35
rpm -qa //설치된 패키지 리스트 확인
rpm -qf /usr/bin/mysql //설치된 패키지 확인
rpm -ql gd-2~ //패리키 라이브러리 확인
rpm -qi gd-2~ //패키지 정보
2011/01/19 14:35 2011/01/19 14:35

출처 : http://cafe.naver.com/fep28fx.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=173
셀 커맨드 상에서 사용할수 있는 좀 있어보이는 팁에대해서 ㅋㅋ


[커서이동에대한 팁]


ctrl + f : 커서를 앞으로 이동 "->"  키와 동일

ctrl + b : 커서를 뒤로 이동   "<-"  키와 동일

ctrl + d : 현재 커서위치의 문자열을 지운다.

ctrl + a : 커서를 행의 맨앞으로 이동시킨다. "Home"키와 동일한 기능

ctrl + e : 커서를 문미에 이동시킨다. "End"키와 동일한 기능

ctrl + k : 커서의 위치에서 행의 끝까지 제거한다.

alt + b : 커서상의 한 단어를 제거한다.


별거 아닌데 그냥 남들과 다르게 사용하면 좀 있어 보일까하고 정리해 봤당~~~ㅋㅋ


[커맨드이력에대한 검색기능]


1Step : ctrl + r 키를 누르고

2Step : 전에 사용하였던 커맨드를 입력하면 커맨드가 검색되어 나온다.

3Step : 원하는 커맨드이면 엔터를 쳐서 실행하면된고 , 수정이 필요하면 ESC 키를 누루고 수정하면 된다.


[디렉토리를 나타내는 기호]


~   : 홈디렉토리

~-  : 이전에 있던 디렉토리

..    : 한단계 위 의 디렉토리

.     : 현재디렉토리


~- 기호땜에 함 정리해 보았다.

2011/01/05 15:39 2011/01/05 15:39

locale -a #지원되는 모든 언어 확인

#LANG=ko_KR.eucKR
#export LANG

2011/01/05 14:27 2011/01/05 14:27

리눅스 mail 보내기

Linux 2010/12/13 13:20

출처 : http://www.1000dedi.net/docs/renew/smile_board/bbs/tb.php/serverLecture/326

------------------------------------------------------------------------------------  

안녕하세요

스마일 서브입니다.

자세한 사용법은 메뉴얼을 보시면 되겠습니다.

그냥 일반적인 메일을 주고 받기에 사용하는 명령 몇가지만 살펴보겠습니다.

1. 해당유저의 메일을 확인하는 방법은 고객님께서 말씀하신 데로

mail -u 유저명 혹은 mail -f [메일박스]를 적어 주시면 됩니다.

메일프롬프트 상태에서 ? 만 치시면 그 사용법을 확인 하실 수가 있습니다.

이 상태에서 메일 보내기, 읽기 및 각종 편집이 가능합니다.

각 메일앞에 나타나는 N은 새로운 메일, U는 읽지 않은 메일입니다.

메일 프롬프트 상태에서 mail 번호는 입력하면 해당 메일을 읽을 수가 있고

읽혀진 메일들은 사용자 계정에 있는 mbox에 자동으로 저장되어 집니다.

명령어 몇가지를 알아보면 다음과 같습니다.

+ 다음편지, - 이전편지, m 지정한 사람에게 답장보내기, r 보낸사람에게 답장

q 나가기, s 특정한 파일로 편지 저장, ㅣ 사용가능한 명령어 리스트

d 편지 삭제, dp 현재의 편지를 지우고 다음편지 열람, u 이전에 지웠던 편지 복구

p 편지의 내용을 보여줌

2. 간단히 해당 유저에게 메일을 보내려면 다음과 같이 하시면 됩니다.

 mail [email protected]  복수사용자의 경우 ","를 사용하여 사용자의 주소를 연이어

 입력하시면 됩니다.

---------------------------------------------------------------

Subject : E-mail 제목 입력

E-mail 내용

^d(Ctrl+d : 송신할 내용의 입력 끝)

cc: E-mail을 송신할 다른 사용자의 E-mail 주소

-------------------------------------------------------------------

송신할 내용을 입력하는 과정에서 다음 명령어들은 각행의 첫머리에 입력할수

있습니다.

~? 도움말, ~c 보낼 E-mail Address 추가, ~e  문서 편집기 실행, ~q 편지쓰기 종료

~s[변경할제목] 제목 변경, ~r[파일이름] 파일의 내용을 불러옴

~w[파일이름] 현재쓰고 있는 편지내용을 파일로 저장

혹은 메일 내용을 파일로 저장시에는  

mail -s subject [email protected] < filename

echo "mail message" | mail -s subject [email protected]

감사합니다.

2010/12/13 13:20 2010/12/13 13:20

/boot/grub/menu.lst

Linux 2010/12/09 10:53
grub1 소개
GRand unified Boot Loader
LILO와 달리 설정파일만 변경하면 커널이미지 같은 나머지는 알아서 인식
부팅 시에 파라메터를 수동으로 입력할 수 있음
설정파일 위치 : /boot/grub/menu.lst

menu.lst
default=0   ##기본으로 부팅할 이미지는 첫 번째(0)
timeout=5 ## 메뉴 화면을 5초간 보여줌
splashimage=(hd0,0)/grub/splash.xpm.gz
#첫번째 (0번째) 이미지
title CentOS (2.6.18-194.17.4.el5) ##부팅화면에 보여줄 이름
        root (hd0,0) ##루트 파티션 지정
        kernel /vmlinuz-2.6.18-194.17.4.el5 ro root=/dev/sda2 ##커널이미지 지정
        initrd /initrd-2.6.18-194.17.4.el5.img ##초기화를 수행할 램디스크 이미지 지정
title CentOS x86_64 (2.6.24.2)
        root (hd0,0)
        kernel /vmlinuz-2.6.24.2 ro root=/dev/sda2
        initrd /initrd-2.6.24.2.img
title CentOS x86_64 (2.6.18-53.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/sda2
        initrd /initrd-2.6.18-53.el5.img
2010/12/09 10:53 2010/12/09 10:53

리눅스서버는 커널/네트워크 매개변수 설정


1. 리눅스 커널/네트워크 매개변수 설정

 1) /etc/sysctl.conf 파일 수정

vi /etc/sysctl.conf  -> 마지막줄부터 아래 내용 추가

################### 복사 시작 ####################

# icmp redirects를 보내지 않는다.

net.ipv4.conf.eth0.accept_redirects=0

net.ipv4.conf.lo.accept_redirects=0

net.ipv4.conf.default.accept_redirects=0

net.ipv4.conf.all.accept_redirects=0

net.ipv4.conf.eth0.send_redirects = 0

net.ipv4.conf.lo.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.send_redirects = 0

# proxy arp를 설정하지 않는다.

net.ipv4.conf.eth0.proxy_arp=0

net.ipv4.conf.lo.proxy_arp=0

net.ipv4.conf.default.proxy_arp=0

net.ipv4.conf.all.proxy_arp=0

# 게이트웨이로부터의 redirect를 허용하지 않음으로써 스푸핑을 막기 위해 설정한다.

net.ipv4.conf.eth0.secure_redirects=0

net.ipv4.conf.lo.secure_redirects=0

net.ipv4.conf.default.secure_redirects=0

net.ipv4.conf.all.secure_redirects=0

# 스푸핑을 막기 위해 source route 패킷을 허용하지 않는다.

# 소스 라우팅을 허용할 경우 악의적인 공격자가 IP 소스 라우팅을 사용해서 목적지의

# 경로를 지정할 수도 있고, 원래 위치로 돌아오는 경로도 지정할 수 있다. 이러한 소스 라우팅이

# 가능한 것을 이용해 공격자가 마치 신뢰받는 호스트나 클라이언트인 것처럼 위장할 수 있는 것이다.

net.ipv4.conf.eth0.accept_source_route=0

net.ipv4.conf.lo.accept_source_route=0

net.ipv4.conf.default.accept_source_route=0

net.ipv4.conf.all.accept_source_route=0

# Broadcast로부터 오는 핑을 차단함(Smurt 공격을 차단함).

net.ipv4.icmp_echo_ignore_broadcasts=1

# IP 나 TCP 헤더가 깨진 bad icmp packet을 무시한다.

net.ipv4.icmp_ignore_bogus_error_responses = 1

# 자신의 네트워크가 스푸핑된 공격지의 소스로 쓰이는 것을 차단한다.

# 모든 인터페이스에서 들어오는 패킷에 대해 reply를 하여 들어오는 인터페이스로 나가지 못하는 패킷을 거부한다.

net.ipv4.conf.eth0.rp_filter=2

net.ipv4.conf.lo.rp_filter=2

net.ipv4.conf.default.rp_filter=2

net.ipv4.conf.all.rp_filter=2

# bootp 패킷을 허용하지 않는다.

net.ipv4.conf.eth0.bootp_relay=0

net.ipv4.conf.lo.bootp_relay=0

net.ipv4.conf.default.bootp_relay=0

net.ipv4.conf.all.bootp_relay=0

# 스푸핑된 패킷이나 소스라우팅, Redirect 패킷에 대해 로그파일에 정보를 남긴다.

net.ipv4.conf.eth0.log_martians=1

net.ipv4.conf.lo.log_martians=1

net.ipv4.conf.default.log_martians=1

net.ipv4.conf.all.log_martians=1

# 1/100초에 받아들이는 igmp "memberships"의 수

net.ipv4.igmp_max_memberships=1

# 매우 복잡한 사이트에서는 이 값을 늘리는 것도 가능하지만 64로 두는 것이 적당하며

# 더 늘렸을 경우에는 큰 문제가 발생할 수도 있다.

net.ipv4.ip_default_ttl=64

# 게이트웨이 서버가 아닌 이상 패킷을 포워딩 할 필요는 없다.

net.ipv4.ip_forward=0

# fragmented packet이 메모리에 존재하는 시간을 15초로 설정한다.

net.ipv4.ipfrag_time=15

# SYN_Flooding 공격에 대한 대비로 백로그큐(Backlog Queue)가 가득차면 다른 접속 요구를 받아들이지 못한다.

net.ipv4.tcp_max_syn_backlog = 1024

# TCP 연결에서 Three-way Handshake가 성공적으로 이루어지지 않으면 더 이상 소스 경로를 거슬러 올라가지 않도록한다.

# 따라서 적절한 연결 요청에 대해서만 연결을 맺는다.

# syncookies가 작동할 때 SYN Flooding 공격이 있으면 messages 파일에 아래와 같은 내용이 출력된다.

# possible SYN flooding on port 80. Sending cookies.

net.ipv4.tcp_syncookies = 1

# 일정한 시간과 IP별로 보내고 받는 SYN 재시도 횟수를 3회로 제한한다.

# 이 옵션은 스푸핑된(위조된) 주소로 오는 SYN 연결의 양을 줄여준다.

# 기본 값은 5(180 초에 대응)이며 255를 넘지 않아야 한다.

net.ipv4.tcp_syn_retries = 3

# passive TCP 접속시도가 재접속을 하기 위한 SYNACKs의 값을 정한다. 255 보다 높

# 게 지정할 수 없다. 기본값은 5이며, 180초에 대응이 된다.

net.ipv4.tcp_synack_retries = 3

# 무언가 문제가 있을 때 연결을 위해 재시도 할 횟수, 최소 값과 기본 값은 3이다.

net.ipv4.tcp_retries1=3

# TCP 연결을 끊기 전에 재시도할 횟수.

net.ipv4.tcp_retries2=7

# 연결을 종료시 소요되는 시간을 줄여준다(기본 설정값: 60).

net.ipv4.tcp_fin_timeout=20

# 동시에 유지 가능한 timewait 소켓의 수이다.

# 만약 지정된 숫자를 초과하였을 경우에는 timewait 소켓이 없어지며 경고 메시지가 출력된다.

# 이 제한은 단순한 DoS 공격을 차단하기 위해 존재하는데, 임의로 이 값을 줄여서는 안되며

# 메모리가 충분하다면 적절하게 늘려주는 것이 좋은데, 64M 마다 180000으로 설정하면 된다.

# 따라서 256M일 경우에는 256/4=4 4*180000=720000

# 64M -> 180000

# 128M -> 360000

# 256M -> 720000

# 512M -> 1440000

# 1G -> 2880000

# 2G -> 5760000

#net.ipv4.tcp_max_tw_buckets = 180000

# 연결이 끊어졌다고 판단할 때까지, 얼마나 keepalive probe 를 보낼지 결정. 기본값 9회

# 간단한 DoS 공격을 막아준다.

net.ipv4.tcp_keepalive_probes=2

# keepalive 가 활성되 되어 있을 경우, 얼마나 자주 TCP 가 keepalive 메세지를 보

# 내게 할 것인지를 설정.

net.ipv4.tcp_keepalive_time=30

# keepalive_probes 를 보낼 간격을 정함. probe 를 보낸 후, probes * intvl 의 시

# 간이 지나도록 응답이 없으면 연결이 해제된 것으로 간주하게 됨. 기본 값의 사용

# 시 11분 15초 동안 재시도를 하고 연결을 취소함. 값은 초단위

net.ipv4.tcp_keepalive_intvl = 10

# 서버 쪽에서 닫은 TCP 연결을 끊기 전에 확인하는 횟수를 정한다. 기본 값은 7 로

# RTO 50 초에서 16 분 사이에 해당한다. 웹 서버가 운영 중 이라면 이 값을 줄여서

# 소켓 등이 귀한 리소스를 소비하지 않도록 할 수도 있다.

net.ipv4.tcp_orphan_retries = 2

# SYN 패킷을 전송한 후에 로스가 발생을 하여 ACK 를 일부 받지 못했을 경우, 선택

# 적으로 (selected) 받지못한 ACK 만 받도록 요청하는 것을 허락한다. 로스가 많은

# 네트워크에서는 상당히 중요한 역할을 한다.

net.ipv4.tcp_sack = 1


2) 설정 적용 : sysctl -p /etc/sysctl.conf  입력

[[email protected] running]# sysctl -p /etc/sysctl.conf

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.conf.eth0.accept_redirects = 0

net.ipv4.conf.lo.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

net.ipv4.conf.lo.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.eth0.proxy_arp = 0

net.ipv4.conf.lo.proxy_arp = 0

net.ipv4.conf.default.proxy_arp = 0

net.ipv4.conf.all.proxy_arp = 0

net.ipv4.conf.eth0.secure_redirects = 0

net.ipv4.conf.lo.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.eth0.accept_source_route = 0

net.ipv4.conf.lo.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.conf.eth0.rp_filter = 2

net.ipv4.conf.lo.rp_filter = 2

net.ipv4.conf.default.rp_filter = 2

net.ipv4.conf.all.rp_filter = 2

net.ipv4.conf.eth0.bootp_relay = 0

net.ipv4.conf.lo.bootp_relay = 0

net.ipv4.conf.default.bootp_relay = 0

net.ipv4.conf.all.bootp_relay = 0

net.ipv4.conf.eth0.log_martians = 1

net.ipv4.conf.lo.log_martians = 1

net.ipv4.conf.default.log_martians = 1

net.ipv4.conf.all.log_martians = 1

net.ipv4.igmp_max_memberships = 1

net.ipv4.ip_default_ttl = 64

net.ipv4.ip_forward = 0

net.ipv4.ipfrag_time = 15

net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_syn_retries = 3

net.ipv4.tcp_synack_retries = 3

net.ipv4.tcp_retries1 = 3

net.ipv4.tcp_retries2 = 7

net.ipv4.tcp_fin_timeout = 20

net.ipv4.tcp_keepalive_probes = 2

net.ipv4.tcp_keepalive_time = 30

net.ipv4.tcp_keepalive_intvl = 10

net.ipv4.tcp_orphan_retries = 2

net.ipv4.tcp_sack = 1


출처 : 1000DEDI [보안공지]

http://www.1000dedi.net/hosting/gnuboard4/bbs/board.php?bo_table=serverLecture&wr_id=445

2010/12/09 10:29 2010/12/09 10:29
리눅스에서 재설치 필요없이 모듈과 확장하여 사용할수 있는 괜찮은 방법
원본  : http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=52291


확장모듈 설치

확장 모듈이란 PHP자체에서 지원하는 기능외의 타 프로그램 라이버러리를 이용하여
함수로써 사용하는것들을 말합니다.

gd mbstring iconv curl 외에도 db 연결하는 함수들등 수없이 많은 기능들이 확장 모듈로
제공됩니다. 그런데 이런 프로그램을 사용하기위해 처음부터 PHP설치시 같이 설치하면
좋긴한데 그러지 못한 경우가 많습니다.
대표적인 예가 mbstring 이나 iconv 같은 함수죠..
utf-8 을 euc-kr 로변경하던지 아니면 그반대의 경우도..

여하튼 이런 mb계열 함수나 iconv 함수를 사용하기위해 서비스를 하고 있는
서버의 PHP를 재설치하기엔 곤란한 경우가 많습니다.
그런경우 확장 모듈로 등록해두고 사용하면 따로 PHP를 재설치 하지 않으셔도 됩니다.

설치 방법이야 여러가지가 있겠지만
가장 보편적으로 사용할수 있는 한가지 방법을 적겠습니다.
아참 제가 적는것은 소스설치에 한정된것입니다.
그리고 php는 /usr/local/php에 설치되었다고 가정하에

1. 같은 버젼의 php 소스 다운로드 또는 원소스가 있다면 소스디렉토리로 이동
2. 압축 풀고 cd PHP소스디렉토리/ext/설치하고자하는확장모듈명
3. /usr/local/php/bin/phpize
4. ./configure --with-php-config=/usr/local/php/bin/php-config --enable-설치하고자하는확장모듈명
5. make => modules/설치하고자하는확장모듈명.so 라는 화일이 생성됨
6. 설치하고자하는확장모듈명.so 이 화일을 php.ini 화일의 extension_dir=확장모듈 경로 에
옮겨줌
7. php.ini 에 extension=설치하고자하는확장모듈명.so 추가
8. 아파치 재시작

2010/12/07 10:55 2010/12/07 10:55