사자자리
[리눅스 기초] F.T.Z trainer 1 ~ trainer 5 본문
해커스쿨
https://www.hackerschool.org/Sub_Html/HS_FTZ/html/ftz_menual.html
PuTTy를 열어 로그인
trainer1
프롬프트
- 리눅스 서버에 성공적으로 로그인을 하게 되었다는 것을 의미
- 항상 대기상태에서 우리가 어떤 명령을 내리기만을 기다린다.
*리눅스에서는 폴더(folder)보다 디렉토리(directory)라는 단어를 더 많이 사용하며, 이 둘의 의미는 같다.
*리눅스는 대소문자를 확실히 구분한다. LS, Ls, ls는 서로 다르다.
ls
- 현재 위치를 기준으로 컴퓨터에 설치된 디렉토리와 파일을 보여주는 명령
ls -l
- 위의 결과는 어떤 것이 디렉토리이고 어떤 것이 파일인지 알려주지 않는다.
- ls 명령에 -l 옵션을 추가하면 디렉토리와 파일이 구분되어 출력된다.
디렉토리와 파일을 구분하는 방법
디렉토리 | 파일 |
가장 왼쪽의 문자가 d | 가장 왼쪽의 문자가 - |
예) drwxr-x--- | 예) -rw-rw---- |
ls -a
- 리눅스에서 설정파일과 같은 중요한 파일들은 숨겨진 상태로 저장되어있다.
- 숨겨진 파일들은 -a 옵션을 사용해야 볼 수 있다.
- 숨겨진 파일은 파일명의 가장 앞 부분에 "."이 들어가있다.
- 보통 파일명 앞에 "."을 붙이면 숨겨진 파일로 변한다.
ls -al
- 옵션 -a과 -l을 합친 것이다.
trainer2
pwd
- 자신이 지금 어떤 디렉토리 속에 들어가 있는지 출력한다.
*가장 오른쪽의 경로에서 왼쪽의 경로로 이동하는 것을 "한 단계 위로 간다"라고 한다.
*리눅스에서는 "/"를 최상위 디렉토리 또는 루트 디렉토리라고 한다.
cd ..
- 한 단계 위로 가는 명령
*한 단계 내려갈 때는 내려갈 디렉토리 명만 입력하면 된다. 예) cd trainer2
cd /
- 언제 어디서나 한 번에 최상위 디렉토리로 이동하는 명령
*두 단계 이상 내려갈 때는 이렇게 입력한다. 예) cd /home/trainer2
mkdir
- make directory: 새로운 디렉토리를 만드는 명령
- mkdir regulus라고 입력하면 regulus라는 디렉토리가 생긴다.
rmdir
- remove directory: 디렉토리를 지우는 명령
- rmdir regulus라고 입력하면 regulus 디렉토리가 지워진다.
cp
- copy: 파일을 복사하는 명령
- cp regulus black 이라고 입력하면 regulus 파일이 black 이라는 이름으로 복사된다.
mv
- move: 파일을 옮기는 명령
- cp 명령과는 달리 파일이 복사된 후 원본 파일이 자동으로 삭제된다. 따라서 파일 이름을 변경할 때 많이 쓰인다.
- mv regulus black 이라고 입력하면 regulus 파일이 black 이라는 이름으로 복사되고 삭제된다. 따라서 regulus파일이 사라지고 black 파일만 남는다. (원래는 regulus 파일만 있었음)
trainer3
*터미널을 통해 접속했다: 텔넷을 통해 서버에 접속한 것
*콘솔을 통해 접속했다: 컴퓨터에 직접 리눅스를 설치하고 부팅하여 로그인한 것
*터미널과 콘솔은 같은 의미지만 위와 같은 차이가 있다.
w
- 서버에 접속한 사람들을 확인하는 명령
① 로그인한 ID
② tty: 콘솔로 접속, pts: 터미널로 접속, 그 뒤의 숫자는 몇번째 터미널로 접속했는지 보여준다.
③ 접속한 사람의 컴퓨터 ip. 콘솔 접속은 ip가 나타나지 않는다.
④ 로그인한 시간
⑤ 지연 시간: 사용자가 얼마나 아무것도 입력을 하지 않고 쉬고 있는지
⑥ CPU를 사용한 지연 시간
⑦ WHAT 필드에 있는 명령이 지연된 시간
⑧ 접속된 사용자들이 어떤 명령을 사용하고 있는지
finger -1
- 사용자들의 자세한 정보를 알려주는 명령
tty
- 자신의 터미널을 확인하는 명령
ifconfig
- 현재 접속한 서버의 ip를 확인하는 명령
write ID /dev/pts/pts번호
- 해당 ID를 가진 사람에게 쪽지를 보내는 명령
wall test
- 모든 사용자에게 쪽지를 보내는 명령
trainer4
디렉토리와 역할
bin | 가장 필수적인 리눅스 실행 파일들이 들어가 있는 곳. 예) ls, rm |
boot | 리눅스 부팅 관련 파일들과 커널이 들어가 있는 곳 |
dev | 컴퓨터에 설치된 하드웨어에 관한 정보들이 파일 형태로 저장되어 있는 곳 |
etc | 많은 중요한 파일들이 들어가 있는 곳. 예) 패스워드 파일, 쉐도우 파일, 대부분의 리눅스 설정 파일 |
home | 일반 사용자들의 디렉토리가 들어가는 곳 |
lib | 많은 라이브러리 파일들이 들어가 있는 곳 |
mnt | mount 명령을 사용하여 마운트시킨 시디롬, 플로피디스켓 등이 들어가 있는 곳 |
proc | 프로세스들이 파일 형태로 저장되는 곳 |
root | 루트의 홈 디렉토리가 저장되는 곳 |
sbin | 기본 명령을 제외한 시스템 관리용 실행 파일들이 들어가 있는 곳 |
tmp | 임시로 파일을 저장하는 곳. 누구나 이 디렉토리에 파일을 생성할 수 있다. |
usr | 다양한 응용 프로그램들이 설치되는 곳 |
var | 시스템 운영 중에 생성되는 임시 파일들이 들어가 있는 곳. 외부 접속에 대한 로그 파일들이 저장되는 곳 |
파일과 역할
/etc/passwd | 사용자들에 대한 간단한 정보 |
/etc/shadow | 사용자들의 패스워드. 아무나 보지 못한다. |
/etc/services | 서버가 어떤 서비스를 하는 중인지 |
/etc/issue.net | 처음 접속될 때 나오는 화면 |
/etc/motd | 로그인 후 나오는 메세지 |
~/public_html | 각 사용자들의 홈페이지 파일. 보통 해킹에 성공하면 이 파일을 수정하여 hacked by XX라는 문구를 남긴다. |
trainer5
whoami
- 자신이 누구인지 알려주는 명령
id
- 자신이 누구인지 자세하게 알려주는 명령
- trainer9에서 배운다.
cat /etc/passwd
- 모든 사용자들의 정보가 들어간 /etc/passwd파일을 보여주는 명령
- trainer6에서 배운다.
*커널은 리눅스의 심장부 역할을 하는 파일으로서, 커널의 버전에 따라 리눅스의 성능도 차이가 난다.
*서버에 아이디가 있는 상태에서 정보를 캐낼 때 가장 먼저 하는 것이 커널 버전을 보는 것이다.
uname -a
- 커널 버전을 확인하는 명령
*2.2.18 이전 버전의 모든 커널들엔 취약점이 있다.
*root 권한: 리눅스나 유닉스에서 모든 파일을 관리하는 절대적인 관리자 권한. 리눅스는 여러 사용자가 동시에 작업을 하기 때문에 자신에게 권한이 부여된 파일만을 제어할 수 있지만, root 권한을 가진 사람은 자유롭게 서버를 조정할 수 있다.
*실력이 상승된다면 이 커널만 가지고도 많은 서버의 root 권한을 획득할 수 있다.
*패키지: 한 프로그램과 그 프로그램이 실행되기 위해 존재하는 부속 파일을 합친 것
*리눅스에는 많은 버전이 있다. 많은 종류의 OS의 기능에는 눈에 띄는 차이는 없지만, 설치된 패키지의 종류는 분명히 다르다.
cat /etc/*release
- 서버의 버전을 보여주는 명령
rpm -qa
- 패키지의 정보를 보여주는 명령
cat /proc/cpuinfo
- 해당 서버의 cpu 정보를 보여주는 명령
'LINUX 기초 > FTZ' 카테고리의 다른 글
[리눅스 기초] F.T.Z Level 4 (0) | 2022.06.26 |
---|---|
[리눅스 기초] F.T.Z Level 3 (0) | 2022.06.18 |
[리눅스 기초] F.T.Z Level 1 ~ Level 2 (0) | 2022.05.24 |
[리눅스 기초] F.T.Z trainer 6 ~ trainer 10 (0) | 2022.05.08 |
[리눅스 기초] F.T.Z 환경 구축 (0) | 2022.04.03 |