일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 커널
- 컴퓨터구조
- 알고리즘
- 어셈블리어
- 시스템프로그래밍
- kernel
- write up
- 드론
- wargame
- Bandit
- 리눅스커널
- pwn.college
- 시스템
- Leviathan
- 취약점
- 리버싱
- 리눅스 커널
- 시스템해킹
- px4
- 프로그래밍
- css
- radare2
- C++
- 리눅스
- pwncollege
- 워게임
- Pwnable.kr
- C언어
- 시스템 프로그래밍
- 시그널
Archives
- Today
- Total
Computer Security
#11 하드링크, 소프트 링크(실습) 본문
반응형
하드링크
ln TARGET LINK_NAME
1. 일단 echo hello > hello_world 명령어를 이용해서 hello_world 파일을 생성해준다.
2. ln hello_world hello_hardlinked 명령어를 이용해서 하드링크를 만들어준다.
3. ls -al 을 이용해 주면 아래의 그림과 같이 6바이트로 같은 것을 알 수 있다.
4.외관상에서는 어떤게 하드링크된 파일인지 구분하기 어렵다. 이를 확인하기 위해, 파일의 속성을 읽을 수 있는 명령어인 stat를 사용해보자. hello_world 를 먼저 확인 해보자.
Inode : 1190944 , links : 2 (일반적으로 1개이다. 하드링크를 생성했기 때문)
5. hello_hardlinked를 확인 해보자.
Inode : 1190944 , links : 2
똑같은 것을 알 수 있다.
6. vi 명령어를 이용해 원본 파일인 hello_world에 hello kuri 를 적어서 읽어보자.
난 hello_world에 적었을 뿐인데, hello_hardlinked 에도 적힌 것을 알 수 있다.
소프트 링크
1. 소프트 링크는 대상 파일에 대해 링크를 걸어 주는 것이다. 소프트 링크는 ln -s 명령어로 실행해준다.
2. ls -al 명령어를 이용해 확인 해보자.
실제 파일이름과 원본이 되는 파일이름 사이에 화살표 표시가 되어있다.
소프트 링크파일의 경우 lrwxrwxrwx 즉, l로 시작한다.
3. stat 명령어를 이용해 두 파일을 비교 해보자.
hello_world의 파일은 link가 두개인데, 소프트링크는 링크가 1개이다.
Inode 또한 서로 다르다.
파일 사이즈 또한 다르다. ( hello_symlink 의 파일크기는 hello_world를 파일을 가르키는 경로를 저장한다.)
C 파일로 하드링크와 소프트 링크를 생성 해보자.
결과 값
잘 생성 된 것을 알 수 있다.
반응형
'리눅스 시스템 프로그래밍' 카테고리의 다른 글
#13 파일 속성(실습) (0) | 2022.09.18 |
---|---|
#12 파일 속성 (0) | 2022.09.17 |
#10 파일 구조,하드링크, 소프트링크 (1) | 2022.09.15 |
#9 저수준 파일 문자/문자열 읽고 쓰기 (실습) (0) | 2022.09.14 |
#8 저수준 파일 문자/문자열 읽고 쓰기 (2) | 2022.09.13 |
Comments