Section 19.1: Root 디렉토리 변경하기 (chroot)

Root 디렉토리 변경하기 (chroot) 기능은 현재 동작중인 프로세스와 그 자식 프로세스들에게 있어 보여지는 root 디렉토리 위치를 변경하는 기능이다. 이렇듯 조작된 환경에서 실행되는 프로그램은 주어진 환경에 해당하는 디렉토리를 벗어나는 파일이나 명령어에 접근하지 못하게 된다.

필요사항

  • root 권한
  • 동작 가능한 또다른 Linux 실행환경 - 예를 들어 Live CD 부트 이미지라던가 기존 배포판 이미지
  • chroot 를 수행하는 원본과 대상 사이의 일치하는 아키텍처 환경 (현재 아키텍처 환경 정보는 uname -m 을 통해서 알 수 있다)
  • chroot 환경에서 필요로 하는 커널 모듈이 로드되어야 한다 (예를들어, modprobe 등)
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 18.2: Midnight Commander 의 파일 편집 모드에서의 function key 소개

Midnight Commander 는 열람 (browsing) 모드에서 원하는 파일을 선택 후 F4 function key 를 눌러 내장 편집기를 실행할 수 있는 기능을 지원하고 있다. 또한 이 편집기는 아래와 같은 명령어를 통해 단독 모드로 실행될 수도 있다.

mcedit <filename>

이러한 편집 모드에서 실행시킬 수 있는 동작들의 목록이 아래에 소개되어 있다.

  • F1 도움말을 표시한다.
  • F2 현재 파일을 저장한다.
  • F3 텍스트 선택 시작 위치를 지정한다. 커서를 원하는 방향대로 움직여 선택한다. 선택 종료 지점을 지정하기 위해서는 해당 키를 한번 더 입력한다.
  • F4 문자열 검색/치환 대화상자를 불러온다.
  • F5 선택된 문자열을 커서 위치로 복사한다. (복사/붙여넣기)
  • F6 선택된 문자열을 커서 위치로 이동한다. (잘라내기/붙여넣기)
  • F7 문자열 검색 대화상자를 불러온다.
  • F8 선택된 문자열을 삭제한다.
  • F9 화면 상단의 메인 메뉴 영역으로 포커스를 이동한다.
  • F10 편집기를 종료한다.
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 18.1: Midnight Commander 의 열람 (browsing) 모드에서의 function key 소개

Midnight Commander (혹은 mc) 는 콘솔 기반의 파일 관리자이다. 이 장에서는 해당 툴의 기능에 대한 설명과 해당 툴을 활용하는 사용법 및 팁에 대하여 다룬다.

Midnight Commander 의 파일시스템 열람 모드에서 키보드상의 function key 를 이용하여 실행시킬 수 있는 동작들의 목록이 아래에 소개되어 있다.

  • F1 도움말을 표시한다
  • F2 사용자 메뉴를 연다
  • F3 선택된 파일의 내용을 표시한다
  • F4 내부 편집기를 이용하여 선택된 파일을 연다
  • F5 선택된 파일을 두번째 패널이 열려있는 디렉토리에 복사한다
  • F6 선택된 파일을 두번째 패널이 열려있는 디렉토리에 이동한다
  • F7 현재 패널이 열려있는 디렉토리에 새로운 디렉토리를 생성한다
  • F8 선택된 파일이나 디렉토리를 삭제한다
  • F9 화면 상단의 메인 메뉴 영역으로 포커스를 이동한다
  • F10 mc 를 종료한다
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 17.6: 네트워크 인터페이스에 IP 추가하기

네트워크 인터페이스에 IP 를 추가하는 방법은 크게 DHCP 를 통해 IP를 얻어오는 방법과 정적 IP 를 할당하는 방법으로 나눌 수 있다

DHCP

만약 사용자의 시스템이 DHCP 서버가 동작중인 네트워크에 연결된 상태라면, dhclient 명령을 통해 네트워크 인터페이스에 IP 주소를 자동으로 할당받게 할 수 있다

$ dhclient <interface>

또다른 방법으로는, /etc/network/interfaces 파일을 수정하여 해당 인터페이스가 부팅시에 활성화되어 DHCP IP 주소를 자동으로 얻어오도록 설정할 수도 있다

auto eth0 iface eth0 inet dhcp

/etc/network/interfaces 파일을 이용한 정적 설정 (영구적인 변경)

사용자의 네트워크 인터페이스에 (영구적으로) 정적 IP 설정을 하고 싶다면, /etc/network/interfaces 파일을 수정할 수 있다.

예제:

auto eth0 # 인터페이스를 부팅시에 활성화 시킨다 iface eth0 inet static address 10.10.70.10 netmask 255.255.0.0 gateway 10.10.1.1 dns-nameservers 10.10.1.20 dns-nameservers 10.10.1.30

이 변경사항은 시스템이 재부팅되고 나서도 유지될 것이다.

ifconfig 를 이용한 정적 설정 (임시적인 변경)

정적 IP 주소는 아래와 같이 ifconfig 유틸리티를 이용하여 사용자의 네트워크 인터페이스에 추가될 수 있다

$ ifconfig <interface> <ip-address>/<mask> up

예제:

$ ifconfig eth0 10.10.50.100/16 up
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 17.5: 네트워크 인터페이스 세부 사항

Ifconfig

기기상의 사용 가능한 모든 네트워크 인터페이스 나열하기

$ ifconfig -a

특정 인터페이스의 상세 정보를 나열하기

사용법: $ ifconfig <interface>

예제:

$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:x.x.x.x Bcast:x.x.x.x Mask:x.x.x.x inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4426618 errors:0 dropped:1124 overruns:0 frame:0 TX packets:189171 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:382611580 (382.6 MB) TX bytes:36923665 (36.9 MB) Interrupt:16 Memory:fb5e0000-fb600000

Ethtool - 네트웍 드라이버와 하드웨어 설정을 확인하기

사용법: $ ethtool <interface>

예제:

$ ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: on (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes

ip - 라우팅, 기기, 라우팅 처리 정책 및 터널링 관련 정보를 표시하거나 변경하기

사용법: $ ip { link | ... | route | macsec } (man ip 명령을 통해 전체 옵션 목록을 확인할 수 있다)

예제

  • 네트웍 인터페이스들을 나열한다
    $ ip link show
  • 인터페이스 eth0 의 이름을 wan 으로 변경한다
    $ ip link set dev eth0 name wan
  • 인터페이스 eth0 를 활성화 (혹은 비활성화 - down) 시킨다
    $ ip link set dev eth0 up
  • 각 인터페이스들의 주소 정보를 나열한다
    $ ip addr show
  • IP 와 서브넷 마스크 정보 (255.255.255.0) 를 추가 (혹은 제거 - del) 한다
    $ ip addr add 1.2.3.4/24 brd + dev eth0
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 17.4: 사용자 네트웍상의 다른 시스템을 지칭하는 호스트 이름 설정하기

Linux (혹은 macOS) 시스템 상에서, 식별자 <hostname> 이 사용자 네트웍상의 다른 시스템의 IP 주소를 지칭하도록 설정할 수 있다. 설정 방법에는 다음과 같은 두가지 방식이 있을 수 있다:

  • 시스템 전역 설정
    /etc/hosts 파일을 수정이 필요하다. 아래와 같은 내용을 포함하는 라인을 해당 파일에 추가한다:
    1. 원격 시스템의 IP 주소를 나타내는 <ip_rem>,
    2. 하나 혹은 그 이상의 공백문자
    3. 식별자 <hostname>.
  • 단일 사용자 전용 설정
    ~/.hosts file 파일 수정이 필요하다. 이 파일은 별도로 생성이 필요하며, 시스템 전역 설정의 경우와 같이 간단하지는 않다. 이곳에서 추가적인 설명을 확인할 수 있다.
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 17.3: 라우팅 경로 정보를 확인하고 변경하기

route 명령어를 통해 IP 라우팅 테이블을 조작하기

라우팅 테이블 표시하기

$ route # 라우팅 목록을 표시하고 IP 들을 호스트 이름으로 변환한다 $ route -n # 라우팅 목록을 표시하되 IP 들을 호스트 이름으로 변환하지 않고 빠르게 출력한다

라우팅 정보 추가/삭제하기

옵션 설명
add 혹은 del 라우팅 정보를 추가할지 제거할지 기술한다
-host x.x.x.x IP 주소로 기술된 하나의 호스트에 대한 라우팅 정보를 추가한다
-net x.x.x.x 네트웍 주소로 기술된 네트웍에 대한 라우팅 정보를 추가한다
gw x.x.x.x 네트웍 게이트웨이 주소를 기술한다
netmask x.x.x.x 네트웍 netmask 정보를 기술한다
default 기본 (default) 라우팅 정보를 추가한다

예제:

  • 하나의 호스트에 대한 라우팅 정보 추가하기 $ route add -host x.x.x.x eth1
  • 특정 네트웍에 대한 라우팅 정보 추가하기 $ route add -net 2.2.2.0 netmask 255.255.255.0 eth0
  • 다른 방법으로, cidr 형식 을 사용하여 특정 네트웍에 대한 라우팅 정보를 추가할 수 있다 route add -net 2.2.2.0/24 eth0
  • 기본 게이트웨이 추가하기 $ route add default gw 2.2.2.1 eth0
  • 라우팅 정보 제거하기 $ route del -net 2.2.2.0/24

ip 명령어를 통해 IP 라우팅 테이블을 조작하기

라우팅 테이블 표시하기

$ ip route show # 라우팅 테이블을 표시한다

라우팅 정보 추가/삭제하기

옵션 설명
add 혹은 del 혹은 change 혹은 append 혹은 replace 라우팅 정보를 변경한다
show 혹은 flush 라우팅 테이블의 내용을 출력하거나 제거한다
restore 표준입력 (stdin) 으로부터 입력되는 내용으로 라우팅 테이블을 복구한다
get 이 명령어는 목적지로의 단일 경로 정보를 얻어와 커널에서 인식하는 형태로 해당 내용을 출력해준다

역주: restore 옵션은 save 옵션으로 추출한 라우팅 테이블을 복구할 수 있습니다.

예제:

  • 기본 게이트웨이를 1.2.3.254 로 설정하기 $ ip route add default via 1.2.3.254
  • eth0 기기를 통하는 모든 주소에 대해 로컬 게이트웨이 192.168.1.1 를 거치도록 기본 라우팅 정보를 추가한다 $ ip route add default via 192.168.1.1 dev eth0
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 17.2: 도메인 이름 변환 (resolution) 을 위한 DNS 서버 정보 설정하기

/etc/resolv.conf 파일에는 도메인 이름 변환 서비스를 제공하는 DNS 서버들의 목록을 기술되어 있다.

해당 파일의 예제는 다음과 같다:

nameserver 8.8.8.8 # 주 name server 의 IP 주소 nameserver 8.8.4.4 # 보조 name server 의 IP 주소

내부 DNS 서버를 사용하는 경우, 해당 서버가 DNS 이름을 정상적으로 변환하고 있는지 dig 명령을 통해 검증할 수 있다:

$ dig google.com @your.dns.server.com +short
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

+ Recent posts