- 2014.12.05
1. SELinux
과거엔 리눅스는 소스코드가 공개되어 보안에 취약하다는 인식이 있었지만
SELinux라는 새로운 보안 모델이 나오면서 보안이 많이 향상되었다.
단, 보안과 편의성은 반비례 한다는 사실을 알아야 한다.
1) 설정 변경 문서
# vi /etc/sysconfig/selinux
disabled 등으로 변경 시 리부팅 해야 적용됨
2. NIC
NIC = Network Interface Card
NIC 설정 문서 파일
# vi /etc/sysconfig/network-scripts/ifcfg-장치명
장치 활성화 및 비활성화
# ifconfig eth2 up
# ifconfig eth2 down
IP주소 변경
# ifconfig eth2 192.168.1.144
IP, B/d, Subnetmask 변경
# ifconfig eth2 10.10.10.10 netmask 255.255.255.0 broadcast 10.10.10.255
장치 down 후 up 하면 원상복귀 된다.
즉, 일시적인 변경을 위한 명령어이다.
영구 변경 되는 네트워크 설정 위한 쉬운 명령어가 있다. (minimal엔 없음)
# system-config-network
# setup
(setup 의 경우 전반적인 셋팅 가능)
3. route
ex)
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth2
default 192.168.1.2 0.0.0.0 UG 0 0 0 eth2
Destination : 목적지 주소를 가르킴
Gateway : 외부로 패킷을 포워딩 하기 위한 장치의 IP Address
Genmask : 라우팅 항목의 넷마스크
Flags : U - 인터페이스가 Up인 상태
H - 라우팅 경로를 통해 호스트로의 연결
G - 게이트웨이의 라우트
D - 라우트가 재지정되어 동적으로 생성
M - 라우팅 경로가 ICMP 리다이렉트 메시지를 통해 수정되었을 경우
Metric : 다음 라우트와의 거리
Ref : 라우터에 대한 참조수
Use : 라우트를 찾아본 횟수
Iface : 목적지로 패킷을 보낼 때 사용할 장치
명령어 설명
# route add [ -net | -host ] target [netmask <nm>] [gw <nm>] dev <i/f>
# route del [ -net | -host ] target [netmask <nm>] [gw <nm>] dev <i/f>
게이트웨이 설정
# route add default gw <gw> dev <i/f>
# route del default gw <gw> dev <i/f>
[실습]
1번대 컴퓨터인 나에게 10번대 컴퓨터인 친구가 들어온다고 한다.
나가는, 들어오는 문 지정을 해줘야 한다.
# route add -net 192.168.10.0 netmask 255.255.255.0 dev eth2
=> 친구 ip를 정확히 모르기 때문에 네트워크 아이디를 전체(192.168.10.0)을 넣어준다.
(게이트웨이는 다른 명령어를 통해 설정할 것)
하지만 들어온 친구가 다시 나갈 순 없다. 나가는 문도 만들어주자.
# route add default gw 192.168.10.2 dev eth2
Metric 값(나로부터 떨어진 거리)도 수동으로 설정 해줘야 한다.
# route add default gw 192.168.10.2 dev eth2 metric 2
=> 기존 것에 추가 되는 것이 아닌 새로 추가가 됨. 지정할 땐 한번에 명령어 내리는 것 필요
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth2
192.168.10.0 * 255.255.255.0 U 0 0 0 eth2
default 192.168.10.2 0.0.0.0 UG 0 0 0 eth2
default 192.168.1.2 0.0.0.0 UG 0 0 0 eth2
default 192.168.10.2 0.0.0.0 UG 2 0 0 eth2
# route del default gw 192.168.10.2 dev eth2
=> 가장 가까운 metric 값인 0 부터 지운다.
지정한 10번대 지우기
# route del -net 192.168.10.0 (metric 2 dev eth2)
# route del -net 192.168.10.0 netmask 255.255.255.0 (dev eth2)
4. netstat
네트워크 관련 정보를 보는데 일반적으로 사용하는 범용 유틸리티. 옵션 없이 netstat만 사용할 경우, 현재 열려 있는 모든 소켓의 연결 상태를 보여준다.
# netstat -nA inet 항목 설명
Proto : 사용 중인 프로토콜
udp : 전송 속도는 빠르나 오류 검출 없다. 한번 보내면 장땡일 때 주로 사용 ex)radio, tv 등
tcp : 오류 검출
3 hand shake (C -> S) // 가져갈게요. 응 가져가. (확인 후)가져갔어요 다음것 주세요.
Recv-Q : 수신 소켓 버퍼에 존재하는 바이트 수
Send-Q : 송신 소켓 버퍼에 존재하는 바이트 수. 반대편 peer socket에 전송되지 못한 것
Local Address : 로컬 쪽 주소
Foreign Address : 상대편 주소
State
LISTEN : 열려있음
CLOSED : 닫혀있음
ESTABLISHED : 연결 완료
SYN-SENT : 연결을 요청한 상태
SYN-RECEIVED : 연결 요구에 의한 응답을 준 후 확인메시지를 기다리고 있는 상태
FIN-WAIT, CLOSE-WAIT, FIN-WAIT2 : 연결 종료를 위해 종료 요청을 받은 후의 종료 과정
출처 : 구글 어딘가..
[명령어 옵션]
-a : all 정보 출력
-n : full format 형식으로 출력
-l : listen 상태 출력
-t : tcp 방식 출력
-u : udp 방식 출력
-r : route 테이블 출력
-p : program 을 함께 출력
-s : system log 출력 - 트래픽 량 확인 가능
ex) # netstat -s > /backup/20141205_netlog
ex)
# netstat -lntup | grep 포트, 프로그램...
# netstat -lntup | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1813/sshd
tcp 0 0 :::22 :::* LISTEN 1813/sshd
네트워크 안될 때 netstat 명령어 통해서 내가 접속하려는 프로그램 및 포트가 열려있는지 확인한다.
5. ping
ping은 상대 호스트가 응답할 수 있는지 확인하는 프로그램으로, 상대 호스트가 살아 있는지 확인하거나 네트워크 구간에서 패킷 손실을 확인하는 용도로 사용한다.
icmp 프로토콜 이용하며 TTL 에 따른 상대편 OS는 아래와 같이 확인할 수 있다.
TTL : 64, 128 -> Unix, Solaris, Linux
250~ -> Windows
[명령어 옵션]
-c number : 패킷 보낼 횟수
-i number : 일반 사용자는 0.2초가 가장 빠르며 그 이하는 root 권한 필요
-s number : 패킷 사이즈
ex)
# ping -c 5 -i 0.2 -s 1000 192.168.1.134
PING 192.168.1.134 (192.168.1.134) 1000(1028) bytes of data.
1008 bytes from 192.168.1.134: icmp_seq=1 ttl=64 time=0.256 ms
1008 bytes from 192.168.1.134: icmp_seq=2 ttl=64 time=0.080 ms
1008 bytes from 192.168.1.134: icmp_seq=3 ttl=64 time=0.080 ms
1008 bytes from 192.168.1.134: icmp_seq=4 ttl=64 time=0.078 ms
1008 bytes from 192.168.1.134: icmp_seq=5 ttl=64 time=0.078 ms
--- 192.168.1.134 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 802ms
rtt min/avg/max/mdev = 0.078/0.114/0.256/0.071 ms
=> size 1000으로 했는데 1008 이 된 이유 : 헤더값 8byte이기 때문
6. traceroute
상대 호스트까지 도달하는 경로를 확인하는 프로그램
udp, icmp 프로토콜 이용
in Windows) tracert google.com
1) 명령어 옵션
-m number : 추적 횟수
-n : 결과는 숫자만 보여주세요
7. arp
ARP = Adress Resolution Protocal
ARP는 IP주소와 하드웨어주소인 MAC 주소를 매칭시켜 주는 테이블이며 네트워크에서 통신하기 위해서는 MAC 주소를 사용한다.
=> 실제. 이것 이용하여 비번 걸려있는 AP 사용하는 방법이 있다.
ex)
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 00:50:56:c0:00:08 C eth2
192.168.1.2 ether 00:50:56:e6:c8:78 C eth2
임의의 IP주소와 MAC 주소를 매칭시켜보자.
# arp -s 192.168.1.10 00:11:22:33:44:55
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:50:56:eb:7d:53 C eth2
192.168.1.1 ether 00:50:56:c0:00:08 C eth2
192.168.1.2 ether 00:50:56:e6:c8:78 C eth2
192.168.1.10 ether 00:11:22:33:44:55 CM eth2
삭제
# arp -d 192.168.1.10
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:50:56:eb:7d:53 C eth2
192.168.1.1 ether 00:50:56:c0:00:08 C eth2
192.168.1.2 ether 00:50:56:e6:c8:78 C eth2
192.168.1.10 (incomplete) eth2
=> 삭제되는데 조금의 시간인 필요
8. nslookup
DNS Server 통해 도메인 - ip 확인 할 수 있음.
# yum install -y bind-utils
명령어를 통해 nslookup 명령어 설치 가능
in windows)
nslookup google.com
set type=ns : 네임서버의 설정 값 볼 수 있음
set type=any : 모든 정보
set type=a : 기본 설정
9. dig
리눅스 전용 명령어. nslookup 보다 더 자세히 보여준다.
하지만 nslookup 을 더 많이 쓴다.
10. host
nslookup 과 비슷하지만 간단하게 보여주는 명령어
'Study > CentOS' 카테고리의 다른 글
[24] openSSH, system-config-firewall, scp, sftp (0) | 2015.03.28 |
---|---|
[23] xinetd, telnet, krb5-telnet (0) | 2015.03.28 |
[21] 이론 - ip, subnetmask, prefix (0) | 2015.03.28 |
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file (0) | 2015.03.28 |
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |
- 2014.12.04
[복습]
1) root 비밀번호 바꾸기
2) GUI 환경으로 부팅 설정
3) grub 비밀번호 설정
4) putty 접속
5) samadal 계정 정보 변경
1) single 모드 접속하여 패스워드 변경 진행
2) vi /etc/inittab 수정
3) grub -> md5crypt 로 암호화된 패스워드 생성,
vi /boot/grub/gurb.conf 주석 밑에 password --md5 [암호화된패스워드] 입력
4) 인터넷 자동연결 설정, ip 확인하여 putty 접속
5)
# mkdir -p /export/home/
# mv /home/samadal/ /export/home/
# usermod -d /export/home/samadal samadal
1. IP
(교재 p130 필기)
IP (IPv4 = 4x8bit = 32 bit)
000.000.000.000
옥텟(8bit) 구분자
2. Static vs DHCP
3. Subneting
[문제]
회사에서 ip 10.20.30.x/24 를 구매했습니다.
사무실에 PC 갯수는 16대가 있습니다.
서브네팅해서 5번째 구간을 구해보세요.
'Study > CentOS' 카테고리의 다른 글
[23] xinetd, telnet, krb5-telnet (0) | 2015.03.28 |
---|---|
[22] SELinux(소개), NIC, route, netstat, arp, nslookup, dig (0) | 2015.03.28 |
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file (0) | 2015.03.28 |
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount (0) | 2015.03.28 |
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file
| Study/CentOS 2015. 3. 28. 14:07- 2014.12.03
1. 분실된 root 비밀번호 재설정
1) 시스템 재부팅, 부팅시 VM logo 뜨면 아무 키나 누른다.
2) 최신 커널 선택 후 알파벳 e를 누른다.
3) kernel ... 을 선택한 후 알파벳 e를 누른다.
4) rhgb quiet 를 지우고 single 이라고 입력한다.
5) b를 통해 boot 시킨다.
6) passwd 통해 패스워드 변경
7) reboot 후 확인
2. grub에 암호 설정
1) 프롬프트 상태에서 grub를 입력한다.
2) grub> 에서 md5crypt를 입력한 후 password 를 넣는다.
3) 암호화된 패스워드를 복사 해둔다.
4) # vi /etc/grub.conf (=# vi /boot/grub/grub.conf)를 열어 주석 밑에
password --md5 [복사한 암호화된 password]
5) 재부팅 통해 grub 모드 들어가 p 눌러 password 입력 되는지 확인한다.
3. ps
현재 동작하고 있는 프로세스들의 상황(스냅샷)을 보여줌 - 실시간이 아닌 그 때 그 상황
in Windows)
Ctrl + Shift + Ese : Process Management 실행 단축키
system idle process - 시스템 점유율 갖고 있다가 필요한 곳에 주는 녀석.
in Linux)
# ps -ef 명령어를 주로 사용.
UID : 사용자
PID : Process ID
PPID : Parent Process ID
C : CPU
STIME : Start Time
TTY : terminal
TIME : 작업시간
CMD : 명령어 (= PID)
즉, UID 사용자가 STIME 시간에 TTY(terminal)을 통해 CMD 명령어를 실행한 시간이 TIME 만큼이고 이 때 CPU 점유율은 C 만큼이다.
4. top
프로세스 실행 상황을 3초의 간격을 두고 새로고침하여 보여준다.
스페이스를 누르면 현재 프로세스 실행 상황을 보여준다.
꺽쇠 (< , >) 통해 화면 전환 가능하며 h 누르면 도움말, q 누르면 종료.
단, 프로세스가 어떻게 연결되어 있는지 잘 모른다.
5. pstree
프로세스를 트리 형식으로 보여준다.
# pstree -p : with PID
-pn : with PID & 번호순
6. kill
프로세스 강제 종료 명령어.
# kill + PID : PID 프로세스 종료
7. who
현재 접속 중인 사용자 상황 조회
자세히보기 : # w
8. write
접속중인 사용자에게 메세지 전송
# write 사용자계정 pts/n (<- who 명령어 통해 알 수 있음)
연결 끊기 : Ctrl + C
9. wall
모든 사용자에게 메세지 전달. 즉 broadcast message 전달.
# wall 할말
10. skill
특정 사용자의 접속 끊기
# skill -KILL 사용자명
11. inittab
# vi /etc/inittab 에서 설정 변경 가능.
- runlevel. (init 숫자)
0 - halt
1 - Single Single user mode
2 - Multiuser, without NFS
3- Full multiuser mode
4 - unused
5 - X11
6 - reboot
12. uname
시스템 정보를 출력
ex)
# uname
Linux
# uname -a
Linux localhost.localdomain 2.6.32-504.1.3.el6.x86_64 #1 SMP Tue Nov 11 17:57:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# uname -i
x86_64
13. file
리눅스의 파일 속성 확인 및 디스크 파티션 포맷 확인
1) 파일 속성 확인
# file [file_name]
2) 디스크 파티션 포맷 확인
# file -s /dev/sda1
'Study > CentOS' 카테고리의 다른 글
[22] SELinux(소개), NIC, route, netstat, arp, nslookup, dig (0) | 2015.03.28 |
---|---|
[21] 이론 - ip, subnetmask, prefix (0) | 2015.03.28 |
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount (0) | 2015.03.28 |
[17] rpm(2), yum (0) | 2015.03.28 |