Linux 24

hackerschool level5 Hard Link, Symbolic Link

http://geundi.tistory.com/47 in Linux's Link 하드링크 심볼릭 링크 두가지가 있다. 먼저 cp 명령의 이해 필요. cp : 파일을 복사하는 명령어. inode { 파일의 중요 내용을 담고 있다. 구조 -파일의 소유권 및 이용 할 수 있는 여부에 대한 정보 -파일 내용이 들어 있는 디스크 내의 물리적 주소 -파일의 링크 수 -파일의 형태 -파일의 크기 -파일의 생성 시간, 최근 사용시간, 최근 수정시간 -inode의 최근 수정 시간 커널 내에서 파일 시스템과 관련하여 중요한 자료 구조 중 하나. ls -i 명령어를 통하여 확인가능. 하드링크 포인터의 개념 동일한 파일시스템에서만 생성 가능 원본과 동일한 inode를 사용하는 파일. ln : 하드링크를 만드는 명령어 ln [..

Security 2011.07.14

hackerschool level5 Race Condition

touch 파일 생성 명령어 레이스 컨디션(Race Condition) http://geundi.tistory.com/48 심볼릭링크 : 바로가기의 개념. 원본파일을 심볼릭링크 파일이 가라킴 심볼릭링크 파일에 수정을 가하면 원본 파일도 수정. root 권한의 SetUID가 걸린 A라는 프로그램이 있다. A는 실행한 후에 /tmp 안에 byebye라는 임시파일을 만든다. 일반 user가 이 임시파일(/tmp/byebye)을 삭제하고, /etc/passwd의 심볼릭 링크를 만드는데 이름을 /tmp/byebye라고 하여 만들었다. 그럼 A를 실행시키면? A는 실행되는 동안 root의 권한을 가지게 된다. A는 byebye라는 임시파일을 만드는데 byebye는 /etc/passwd의 심볼릭링크이다. /etc/p..

Security 2011.07.14

hackerschool level4 service finger, chmod

service finger. 어떤 서비스를 하기위한 initd 데몬. initd 데몬은 컴퓨터가 켜질 때 자동으로 실행되는 프로그램. cat services | grep finger /etc의 services 파일 중 grep 명령을 이용해 finger만 찾음. 쉘 스크립트를 만들때, 가장 첫 라인에 #!/bin/bash 를 씀. 쉘 스크립트의 가장 첫 라인에 !/bain/bash 를 쓰게 됨으로 해서, 내가 사용 하려는 명령어 해석기가 bash 쉘 임을 미리 알려준다. 일반적으로 스크립트에서 #는 주석기호이지만, 첫라인의 #!/bin/bash 에서의 #은 주석기호가 아니다. 스크립트의 가장 첫라인에 있는 #! 은 스크립트의 제일 앞에서 이 파일이 어떤 명령어 해석기의 명령어 집합인지를 시스템에게 알려주..

Security 2011.07.14

Redirection

nohup 실행파일 1> /dev/null 2>&1 & 실제적인 설명은 마지막에 드리고 먼저 I/O 재지향에 대한 개념을 소개합니다. I/O 재지향 ls > ls_result.txt 위와 같이 하면 화면에 출력될 ls 의 결과가 ls_result.txt 라는 파일 속에 기록이 됩니다. 화면에 출력될 내용을 표준출력(stdout)이라고 하는데, 파일디스크립터(file descriptor) 번호는 1번입니다. (표준입력, 표준출력, 표준에러에 해당하는 파일 디스크립터는 각각 0, 1, 2 입니다.) ls 1> ls_result.txt 라고 해도 결과가 같습니다. ls > /dev/null 은 ls 의 결과를 /dev/null 이라는 파일 속에 넣습니다. /dev/null 은 특수한 장치파일로 모든 입력을 (..

OS/Linux 2011.07.14

SetUID in Linux

hacking에는 두가지. Remote Hacking : 자신이 해킹하고자 하는 서버에 아이디가 없는 경우 아이디를 얻고자 시도 Local Hacking : 해킹하고자 하는 서버에 일반 계정을 가지고 있을 때 root 권한을 얻기위해. How to get ROOT? Ans : SetUID SetUID : ID를 일시적으로 변경 ex) if 패스워드 변경을 위해 passwd를 쓰면 shadow 파일의 내용을 변경한다는 의미가 된다. 이는 passwd 파일에는 root 권한의 SetUID가 걸려있어서 일반사용자들이 passwd를 실행시키는 동안 root의 권한을 쥐게 된다. ls -al을 통해 passwd를 보면 -r-s--x--x이다. 's'가 바로 SetUID. s는 x 포함. server 전체에서 Se..

OS/Linux 2011.07.14

permission in Linux

linux에는 4가지 종류의 사용자 user : 자신을 의미. group : 모든 user는 하나 이상의 group에 속하게 됨. 임의로 변경하지 않는 이상 모든 user는 자신의 username과 같은 이름의 group에 속하게 됨. other : user와 group을 제외한 모든 다른 사람. root : root 자신의 상태확인{ id uid : User ID의 약자. 숫자는 컴퓨터가 부여한 숫자. gid : Group ID의 약자. 각 user마다 gid를 가지고 있고, 다른 사람을 자신의 gid를 가진 group에 속하게 할 수 있음. 특별한 경우 제외 gid = uid. } ls -al 사용시 맨 앞의 field. 앞에서부터 순서대로 'user's permission', 'group's per..

OS/Linux 2011.07.14

Linux Zipper

tar 압축이 아닌 단순한 합치기. 그래서 복구 속도 빠름. tar cvf : 합치기, 'tar cvf 합칠파일 합칠파일들' tar xvf : 해제하기, 'tar xvf 해제할파일' options c - Create : 새로운 파일을 만드는 옵션 x - eXtract : 압축을 해제시키는 옵션 v - View : 압축이 되거나 풀리는 과정을 출력 f - File : 파일로서 백업 gzip 한번에 한개의 파일만 압축. 그래서 tar과 병행해서 쓰임. gzip 파일이름 : 선택한 파일 압축 gzip -d 파일이름 : 선택한 파일 해제 위의 tar과 gzip을 함께 쓰면 xxxx.tar.gz이 됨. tar.gz을 합친 tgz도 있음

OS/Linux 2011.07.14
반응형