최근에 읽은 책들
끌림
눈먼자들의 도시
MYSQLSocket /var/lib/mysql/mysql.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess="*" OR ipaccess LIKE "\R")
* 문서
1. 패스워드 관리장부
2. 서버자원관리부
3. 백업관리장부
4. 서버작업이력부
5. 서버점검이력부
* 절대로 서버를 믿어서는 안된다. 여러분 자신을 믿으셔야 합니다.
* 리눅스 배포판
www.redhat.com
www.debian.org
www.slackware.com
www.linux-mandrake.com
www.wowlinux.com
www.alzzalinux.com
www.suse.com
www.haansoftlinux.com
www.hancom.com
www.sulinux.net
* 한글 사용
# cat /etc/sysconfig/i18n
LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
* 네트워크 통신테스트 단계
1. gateway까지 통신에 이상이 없는가?
2. 외부망까지의 통신에 이상이 없는가?
3. DNS까지의 통신에 이상이 없는가?
4. 도메인을 통한 외부망까지의 통신에 이상이 없는가?
* 게이트웨어 설정
route add default gw 게이트웨이_IP주소 dev 네트워크_인터페이스_장치명
예) # route add default gw 192.168.0.1 dev eth0
예) # ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# route add default gw 192.168.1.254 dev eth0
* route 명령을 통한 routing 규칙
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
1. 위의 첫번째행부터 다음행으로 차례대로 한 행씩 읽어 들여서 처리할 퍀시을 보낼 수 있는가를 확인합니다.
2. default라는 것이 이 서버의 기본 게이트웨이 설정해을 의미하며 그 행의 Gateway 항목값이 기본게이트웨이의 IP주소입니다. default는 0.0.0.0을 의미합니다.
3. 보낼 데이터의 목적지 IP주소와 Genmask값(SubnetMask)과의 AND연산을 해서 그 결과가 해당행의 Destination항목과 동일할 겨웅에 해당 행의 Iface에 있는 인터페이스로 해당 패킷을 전송하게 됩니다.
4. Iface항목의 값이 lo인 행(Destination값이 127.0.0.0인 행)은 이 서버의 루프백(loopback) 데이터를 처리하기 위한 설정입니다. 즉, 자기 자신에게로 데이터를 보낼 때에 처리를 담당하는 인터페이스입니다.
* 기본게이트웨이 정보:
# cat /etc/sysconfig/network
NETWORKING=yes # 통신이 되도록 지원할 것인가의 여부
HOSTNAME=ns.superuser.co.kr # 서버의 호스트네임(hostname)
GATEWAY=192.168.1.254 # 시스템 전체에 대한 Global한 기본게이트웨이
GATEWAYDEV= # 기본게이트웨이 장치명
FORWARD_IPV4=no # 리눅스 서버가 라우터역할을 할 것인가의 여부. 즉, 패킷포워딩을 수행학자 할 경우에는 yes로 설정하고 패킷포워딩을 하지 않을 경우에는 no로 설정한다. 일반적이 서버역할을 수행할 경우에는 거의 대부분 no로 설정한다.
* IP관련 네트워크 정보:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 # 네트워크 디바이스 장치명
BOOTPROTO=static # 이 네트워크 디바이스에 유동IP를 동적(dynamic)으로 할당하고자 할 경우에는 dhcp를 주소 정적(static)한 고정IP를 할당하고자 할 경우에는 static이라는 값을 준다.
IPADDR=192.168.1.101 # 이 서버의 IP주소
BROADCAST=192.168.1.255 # 브로드캐스트 주소
NETMASK=255.255.255.0 # 넷마스크값
NETWORK=192.168.1.0 # 네트워크주소
ONBOOT=yes # 해당 네트워크 인터페이스(eth0)를 서버 부팅시에 활성화하여 사용할 것인가를 결정한다.
#USERCTL=no
#GATEWAY # 해당 네트워크 인터페이스(eth0)의 기본 게이트웨이를 설정. /etc/sysconfig/network 에 있는 GATEWAY보다 우선순위가 높다.
* 네임서버관련 정보:
# cat /etc/resolv.conf
search superuser.co.kr
nameserver 168.126.63.1
nameserver 164.124.101.2
* ifconfig 명령어
1. eth0 인터페이스 down/up
# ifconfig eth0 down
# ifconfig eth0 up
2. 네트워크 설정
- 설정할 network device : eth0
- 호스트 IP Address : 192.168.0.100
- Netmask : 255.255.255.0
- Broadcast IP : 192.168.0.255
- Network IP : 192.168.0.0
# ifconfig eth0 192.168.0.100 netmask 192.168.0.0 broadcast 192.168.0.255 up
* 네트워크 주소 설정파일
- /etc/sysconfig/network
- /etc/sysconfig/network-scripts/ifcfg-eth0
- /etc/rc.d/init.d/network start|restart|stop
* 리부팅
# reboot
# shutdown -r now
# init 6
* IP앨리어싱
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:2
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:3
# 각 파일 편집
# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0 # -> 이 부분 수정 (원래 eth0)
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.211 # -> 이 부분 수정 (원래 192.168.0.210)
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet
# cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1 # -> 이 부분 수정 (원래 eth0)
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.212 # -> 이 부분 수정 (원래 192.168.0.210)
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet
# /etc/rc.d/init.d/network restart
* hostname 변경
- 영구적으로 변경
# vi /etc/sysconfig/network -> HOSTNAME 수정 (재부팅 필요)
- 일시적으로 변경
# hostname hostname.you_want.com -> 지금 즉시 수정
* netstat
- a 옵션 : --all과 같으며 listen되는 소ㅔㅅ정보와 listen되지 않는 소켓정보 모두를 보여줌.
- n 옵션 : --numeric과 같으며 10진수의 수치정보로 결과를 출력해줌.
- r 옵션 : --route과 같으며 설정된 라우팅정보를 출력해줌
- p 옵션 : --program과 같으며 실행되고 있는 각 프로그램과 PID정보를 출력함.
- i 옵션 : --interface=iface과 같으며 모든 네트워ㅡ인터페이스정보를 출력함. 또는 특정 네트워크인터페이스를 지정할 수도 있음.
- c 옵션 : --continuous과 같으며 netstat결과를 연속적으로 출력함.
- l 옵션 : --listening과 같으며 현재 listen되고 있는 소켓정보를 출력
- s 옵션 : --statistics과 같으며 각 프로토콜에 대한 통계정보를 출력
- t 옵션 : --tcp와 같으며 tcp 정보를 출력
- u 옵션 : --udp와 같으며 udp 정보를 출력
* netstat 연결상태
- LISTEN : 연결이 가능하도록 관련데몬이 떠있으며 연결이 가능함을 나타냄.
- SYN-SENT : 연결을 요청한 상태
- SYN_RECEIVED : 연결요구에 의한 응답을 준 후에 확인메시지를 기다리고 있는 상태.
- ESTABLISHED : 앞의 3단계 연결과정이 모두 종료된 후에 연결이 완료된 상태
- FIN-WAIT1, CLOSE-WAIT, FIN-WAIT2 : 연결종료를 위해 종료 요청을 받은 후의 종료 과정임.
- CLOSING : 전송된 메시지가 유실된 상태를 나타냄.
- TIME-WAIT : 연결종료 후에 한동안 유지하고 있는 상태.
- CLOSED : 연결이 완전히 종료됨.
* 국내도메인 사용기관 정보 조회
리눅스 쉘 : whois -h whois.krnic.net 대상도메인(or IP Address)
ex) whois -h whois.krnic.net 202.86.12.129
웹에서의 조회 URL : http://whois.nic.or.kr
* 국제도메인 사용기관 정보 조회
리눅스 쉘 : whois -h whois.internic.net 대상도메인(or IP Address)
ex) whois -h whois.internic.net cnn.com
웹에서의 조회 URL : http://www.networksolutions.com/en_US/whois/index.jhtml
* ethtool (이더넷카드의 설정의 상황출력과 변경을 하는 명령어)
- 이더넷 설정확인 : ethtool eth0
- 이더넷 설정변경 : ethtool -s eth0 [speed 10|100|1000] [duplex half|full] [autoneg on|off]
# ethtool eth1
# ethtool -s eth1 speed 100 duplex full autoneg off
* mii-tool (Media Independent Interface Tool)
# mii-tool
eth0: no autonegotiation, 10baseT-HD, link ok
eth1: 100 Mbit, full duplex, no link
# mii-tool eth0
eth0: no autonegotiation, 10baseT-HD, link ok
# mii-tool eth1
eth1: 100 Mbit, full duplex, no link
# mii-tool -v eth0
eth0: no autonegotiation, 10baseT-HD, link ok
product info: Intel 82555 rev 4
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseTx-FD 10baseTx-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseTx-FD 10baseTx-HD flow-control
link partner: 10baseT-HD
# mii-tool -R -> 네트워크 인터페이스의 기본설정내용대로 재설정
# mii-tool -r -> 네트워크 인터페이스의 autonegotiation설정을 재시작
* modprobe를 이용한 랜카드 모드 설정확인 및 변경하기
# lsmod
Module Size Used by
eepro100 18144 1
# cat /etc/modules.conf
alias eth0 eepro100
alias scsi_hostadapter aic7xxx
# modprobe 랜카드모듈명 speed_duplex=설정번호
- speed_duplex=0 : auto detection 모드로 설정
- speed_duplex=1 : 10M, half duplex로 설정
- speed_duplex=2 : 10M, full duplex로 설정
- speed_duplex=3 : 100M, half duplex로 설정
- speed_duplex=4 : 100M, full duplex로 설정
ex) modprobe eepro100 speed_duplex=1
* tcpdump
# tcpdump -i eth0 -> 특정 ethernt(eth0) 으로 송수신 되는 데이터 패킷 덤프하여 확인
# tcpdump -i eth0 -w TCPDUMP -> 특정 ethernet으로 송수신 되는 패킷들 파일에 저장 및 확인
# tcpdump -r TCPDUMP -> TCPDUMP에 저장된 패킷헤드들을 확인
# tcpdump -i eth0 -c 10 -> 특정 ethernet에서 지정한 개수만큼의 네트워크 패킷 덤프하여 확인
# tcpdump -w tcpdump.log -s 1500 tcp port 22 and host 192.168.0.1
-> 서버의 특정포트로 송수신되는 모든 데이터패킷 전체를 확인
-> 이 명령의 의미는 현재 로컬서버와 192.168.0.00서버사이의 통신데이터패킷 중 tcp 22번포트의 모든 패킷을 1500길이로 캡쳐하여 tcpdump.log파일에 저장
-w tcpdump.log 결과를 tcpdump.log파일에 저장
-s 1500 캡쳐할 패킷의 길이로서 1500은 패킷의 전체길이를 의미하므로 모든 패킷을 캡쳐하게 된다.
tcp port 22 캡쳐할 대상 프로토콜과 포트를 지정한 것으로 TCP 포트 22번으로 송수신되는 데이터를 캡쳐하다.
host 192.168.0.100 192.168.0.100서버와 송수신되는 데이터를 대상으로 캡쳐한다.
# tcpdum -Xqnr tcpdump.log -> 캡쳐한 tcpdump.log파일의 내용을 ASCII모드로 확인
*** 리눅스 서버관리 유틸리티 ***
* 시스템 설정과 셋업 유틸리티
# setup
시스템설정과 셋업 파일들을 한데 모은 유틸리티.
* 리눅스 인증설정 유틸리티(NIS와 Shadow패스워드를 설정하는 텍스트 모드 도구)
# authconfig
# systemp-config-authentication
# pwconv -> shadow 패스워드 사용
# pwunconv -> shadow 패스워드 사용
MD5 Passwords 를 사용해서 문자수를 최대 256byte까지 사용할 수 있다.
* 시스템 날짜와 시간을 수정하는 그래픽 인터페이스
# redhat-config-date
# system-config-date
#system-config-time
* httpd 웹 서버에 대한 그래픽 설정 도구
# redhat-cofig-httpd
# system-config-http
* 키보드를 수정하는데 사용되는 그래픽 인터페이스
# redhat-config-keyboard
# system-config-keyboard
* 언어를 수정하는데 사용되는 그래픽 인터페이스
# redhat-config-language
# system-config-language
* 마우스 설정 그래픽 인터페이스
redhat-config-mouse
system-config-mouse
* Red Hat Linux 네트워크 설정 도구에 사용되는 그래픽 사용자 인터페이스. (참고: )
# netconfig
# redhat-config-network
# system-config-network
* NFS 서버 설정 도구
# redhat-config-nfs
# system-config-nfs
* Red Hat Linux에 사용되는 패키지 관리자
# redhat-config-packages
# system-config-packages
* 프린타 설정 백엔드/프론트엔드 조합
# printconf
# redhat-config-printer
# system-config-printer
* 루트 암호를 수정하는데 사용되는 그래픽 인터페이스
# redhat-config-rootpassword
# system-con