time wait이 너무 길다고 판단되면
- 강력한 DoS 공격으로부터의 방어를 위해 7500 이하로 설정할 것을 권장
gcc -v -o 컴파일될이름 컴파일할 소스이름
gcc -v -o ./get_data ./get_data.c
gcc -v --save-temps -o like like.c
위 명령에서 -v 옵션은 컴파일되는 과정을 화면으로 출력하라는 옵션이고
--save-temps 옵션은 컴파일 과정에서 발생되는 중간 파일을 지우지 않고 저장하라는 명령이다.
gcc -v -o 컴파일될이름 컴파일할 소스이름
gcc -v -o ./get_data ./get_data.c
gcc -v --save-temps -o like like.c
위 명령에서 -v 옵션은 컴파일되는 과정을 화면으로 출력하라는 옵션이고
--save-temps 옵션은 컴파일 과정에서 발생되는 중간 파일을 지우지 않고 저장하라는 명령이다.
라우팅 테이블 경로 추가
route add -net (ip) netmask (subnetmask) dev (eth0)
route add -host (ip) netmask (subnetmask) dev (eth0)
gw 를 이요해 게이트를 지정할 수 있다.
기본게이트웨이 추가
route add default gw (ip)
메트릭값 다르게 추가
route add default gw (ip) dev eth0 metric (1)
제거 하는방법은
route del ....................
DSO - Dynamic Shared Object
동적모듈이란 무엇인가?
아파치 헬기를 예로 들어보자.
아파치 헬기는 대전차 공격용 헬리콥터로 일반인에게도 유명하다.
헬기가 전투에 투입될때 항상 동일한 무기를 장착하는가?
아니다.
탱크를 사냥할대는 대전차 로켓을 장착하고,
교량을 폭파할때는 또 다른 무기를 장착할 것이다.
물론 모든 무기를 장착하면 좋겠지만 연료소비가 많아지고 순발력이 떨어질것은 분명하다.
아파치 서버역시 원하는 모듈(무기?)만을 장착하고 실행시킬수 있다.
이를 DSO 방식이라 하고 장착할수 있는 모듈을 DSO모듈이라 부른다.
PHP모듈도 DSO 방식으로 올리고 내릴수 있다.
DSO 모듈을 만드는 방법은 두가지가 있다.
첫번째, 아파치를 컴파일할때 DSO로 만들 모듈을 지정하는 방식.
두번재, 아파치 컴파일후 apxs (APache eXtenSion) 라는 유틸리티를 이용하여 모듈을 만드는 방식. (예: /usr/local/apache2/bin/apxs -i -a -c /usr/local/src/httpd-2.0.48/modules/mappers/mod_rewrite.c)
DSO모듈은 아파치root디렉토리(/usr/local/apache) 및 "moduldes" 디렉토리에 생성된다.
STATIC, DSO 방식의 결정은 아파치를 컴파일할때 결정되며
# ./configure --enable-so
옵션이 있냐, 없냐에 따라 DSO냐, STATIC이냐가 결정된다.
모듈장착은 아파치서버 설정화일인 httpd.conf에
LoadModule php4-module modules/libphp4.so
이런식으로 모듈이름을 적어주면 아파치가 시작하면서 모듈을 적재한다.
새로운 파일 및 디렉토리를 만들 때 자동으로 접근(access)사용 권한 모드를 설정해 준다.
$ umask [마스크]
/etc/fstab 안에 설정되어있음
[root@workspace ~]# more /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/data /data ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=/acctbck /acctbck ext3 defaults 1 2
LABEL=/staff /staff ext3 defaults 1 2
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
/dev/sdb1 /data1 ext3 defaults 0 0
/dev/sdb2 /WWW ext3 defaults 0 0
/dev/sdb3 /data3 ext3 defaults 0 0
/dev/sdc /data2 ext3 defaults 0 0
/dev/md0 /raid_test ext3 defaults 0 0 <- raid1으로 구성된 디스크
nas1:/mnt/nfs /nfs_client nfs defaults 0 0 <- nfs 파일 시스템 마운트(Network에 있는 파일 시스템이다.)
위와 같이 설정되어 있다..
설정 방법은 여러가지 있는데 mount 필요한 장치 여기 설정 한다.
아래 2개의 파일 시스템을 제외하고는 일반 파일 시스템이다.
명령어 : 설명 : 사용 형식 으로 설명합니다.
어디까지나 제 기준이고, 빼먹은 것도 있을 수 있습니다.
/bin
chgrp : 해당 file의 소유 그룹을 바꾼다. chgrp group filename
chmod : 해당 file의 소유자를 바꾼다. chmod mod filename
cp : file을 복사한다. cp source destination
dmesg : 부팅시 출력되는 커널 메시지를 보여준다. dmesg
gzip : gz 압축파일을 생성/압축해제 한다. 압축 : gzip -c file 해제 : gzip -d file
kill : 프로세서를 죽인다. kill PID
ln : 해당 file의 링크를 생성한다. ln -s source destination (심볼릭 링크)
mkdir : directory를 만든다. mkdir directory
mount : 장치를 연결한다. mount -option filesystem 장치명 경로
mv : file을 이동한다. mv source destination
rpm : redhat package manager의 패키지 파일 rpm 파일을 제어한다. man 참고
su : 다른 user로 login 한다. su - ID
tar : tar 파일을 다룬다. 묶음 : tar cvf 해제 : tar xvf
umount : mount 되어있는 장치를 해제한다.
/sbin
depmod : modules의 의존성 관계를 설정한다. depmod -option
fdisk : 하드디스크이 partition을 설정한다. fdisk 장치명
fsck : 하드디스크의 에러를 검사/복구한다. fsck -option 장치명
ifcofig : 시스템의 네트워크 설정을 본다. ifconfig
iptables : 방화벽을 설정한다. iptables -option
mkfs : file system을 생성한다. mkfs -option 장치명
quota : 사용자 계정의 하드디스크 용량을 설정한다. quota -option
route : rounting table을 설정한다. route -option
shutdown : 시스템을 shutdown 한다. shutdown -option
telinit : init runlevel을 변경한다. telinit runlevel
/usr/bin
chattr : file의 속성을 설정한다. chattr -+option filename
du : directory 내의 file들과 directory의 용량을 계산한다. du
find : file을 찾는다. find -option location filename
free : 물리 memory와 buffer/cache, swaping 상태를 본다.
ftpwho : ftp 접속자를 본다.
gcc : gnu C compiler
killall : 해당 이름을 가진 모든 process를 죽인다. killall process_name
nslookup : 해당 domain name의 ip를 알아본다. nslookup domain
passwd : 계정의 비밀번호를 변경한다.
telnet : telnet 연결을 한다. telnet ip(혹은 domain)
uptime : 시스템이 켜져있는 시간과 날짜 수를 나타낸다. uptime
who : 시스템에 login 중인 user를 보여준다. who
which : 파일의 위치를 표시해준다. which file
/usr/sbin
useradd : 계정을 추가한다. useradd ID
groupadd : groupadd groupname
ntpdate : time server에 접속해서 time을 동기화 한다. ntpdate time.kriss.ne.kr
패키지를 따로 설치해야 사용이 가능한 것은 포함하지 않았습니다.