기본 명령어
ps -ef
프로세스의 리스트 확인
which id
어떤 명령어의 실제 위치를 확인 (예시 : id의 위치 확인)
ping -c 3 8.8.8.8
특정 IP 주소에 데이터를 테스트겸 날리는 명령어 (8.8.8.8은 구글 DNS 서버IP주소)
-c count 옵션, -c 3 : 핑을 세번만 날려라.
명령어 -h
그 명령어를 사용하는 방법, 옵션등이 뭔지 안내 (-h 옵션, help의 약자)
ls
list segments, 파일 정보를 보는 명령
-l 옵션, 타입 권한정보 size 수정시간 등을 상세히 확인
-a 옵션, 숨겨진 것까지 전체를 보여줘
man 명령어
해당 명령어에 대한 설명 (man ls 같은 방식으로 사용, 종료시 q)
mkdir 디렉토리명
해당 디렉토리를 만들기
ls ../
상위 경로 보기 (상대경로 표시)
ls ../../, 상위의 상위 경로 보기
cat 파일명
concatenate(연결하다)
해당 파일 데이터가 화면에 출력됨.
file 파일명
해당 파일 타입 체크 가능
more 파일명
cat으로 읽기 불편한 너무 긴 파일을 위에서 부터 읽게 해줌.
Space, 다음페이지
Enter, 한 줄 내리기
rm 파일
삭제 명령어
-r, 디렉토리 삭제시 사용 옵션
-f, 강제 삭제 (rm -rf 파일명 형태로 많이 사용함.)
mv A B
A에서 B로 이동 (cp 후에 rm하는것과 동일함)
find
find / -name "파일명", 최상위 디렉토리에서 파일명의 이름을 가진 파일을 찾겠다.
권한
UID
user id (root 는 udi가 0)
useradd 유저명, 유저 계정 생성
su 계정명, 해당 계정으로 유저 변경(switch user)
GID
group id
/etc/passwd
root:x:0:0:root:/root:/usr/bin/zsh
계정이름:비번:uid:gid:사용자정보:Home 디렉토리:로그인쉘
/etc/shadow, 실제 비번이 저장된 파일, 권한이 높으며 HASH 처리되어 있음.
nologin, 해당 계정으로 들어갈 수 없음.
rwx
read 권한 여부, write 권한 여부, execute 권한 여부
-rw-r--r-- 1 root root, 소유자권한 그룹권한 기타사용자권한 1 소유자 소유그룹
파일에 대한 권한이 있더라도, 그 파일이 들어있는 디렉토리 권한이 없다면 해당 파일 확인 불가
특수권한
setuid - rws
setuid가 설정되어 있다면, 그 파일을 실행했을 때 그 파일 소유자 권한으로 실행
만약 파일소유자가 root 라면, 일반계정에서 실행 시 그 파일 실행중에는 root로 인정됨.
따라서 setuid 설정된 root 파일을 악용해 root 권한으로 권한 상승할 수 있기도 함. (신중히 설정할 것)
s, 실행권한이 있으면서 setuid가 설정됨
S, 실행권한 없으면서 setuid가 설정됨
setgid
setuid와 동일하며, 다만 그룹임.
sticky bit - rwt
공유 디렉토리 설정
이 권한이 설정되면 누구나 마음껏 그 디렉토리에 파일생성 가능 (예시: /tmp)
다만, 다른사람이 만든 파일과 디렉토리는 수정하거나 삭제 불가능함.
권한 변경
chmod [변경할 권한] [변경할 파일, 디렉토리]
권한 추가는 +, 제거는 -
소유자는 u, 소유그룹은 g, 기타 사용자는 o
소유자 권한에 실행권한을 추가한다, u+x (예시 : chmod u+x 파일명)
rwx =
421
숫자 정보로 표기 가능
r-x : 4+1 = 5
rw- : 4+2 = 6
rw-r--rw- : 646
rwxrwxrwx : 777
chmod 777 파일명, 해당 파일을 rwxrwxrwx로 권한 변경
데이터스트림과 FD, redirection
표준 입력 : 쉘에 명령어, 데이터를 입력하는 것
표준 출력 : 프로그램의 실행 결고자를 쉘 화면에 보여주는 것
표준 입력 : Standard Input Stream : 0
표준 출력 : Standard Output Stream : 1
표준 에러 : Standard Error Stream : 2
0,1,2는 File Descriptor 값 (프로세스가 파일을 관리하기 위해 지칭한 식별 값)
redirection
리다이렉션, 데이터 흐름을 바꿈
cat A파일명
cat A파일명 > 다른 B파일명, 이렇게 하면 A 파일 내용이 B 파일에 들어감.
ifconfig > ipinfo, ininfo에 ip정보가 들어감. (새로 데이터가 덮어씌워짐. 기존데이터 삭제됨.)
pwd >> dst_file, 기존 파일 데이터가 지워지지 않고 그 아래에 추가되길 원할 때 사용.
id > dst_file = id 1> dst_file, 1은 써도 되고 안 써도 됨. 1은 FD값임.
1. find / -name "파일명" 2> /tmp/error_msg, 에러 메세지만 다른곳으로 보냄. 에러 안 난 메시지만 화면에 출력됨.
2. find / -name "파일명" 2> /dev/null, 에러 메세지 블랙홀로 보내기 (저장 안 하기)
불필요한 에러메세지를 날릴 땐 2. /dev/null을 사용하고, 원하는 결과 저장을 원할 때는 1. 의 방법을 사용하면 된다.
| 파이프
grep [찾을 패턴] [수색할 파일/디렉토리]
grep '내용' 파일명, 해당 파일에서 내용 찾기
cat /etc/passwd | grep root, passwd에서 root 찾기
ls /bin | grep find, bin 에서 find 찾기
위 내용 공부한 곳 : SegFault 해킹 작업소
'모의해킹 공부하기 > 기타 추가 공부' 카테고리의 다른 글
| Git hub 초간단 사용법 (0) | 2023.11.15 |
|---|---|
| 맥북에서 기존 git과 brew로 설치한 git 버전 다를 때 해결방법 (0) | 2023.11.11 |
| 모의해킹 공부를 위한 준비 2(ubuntu 설치, apache2 & php 설치, 웹서버 띄우기, termius 연결, Vscode sftp 연결) (0) | 2023.10.27 |
| vi 기본 명령어 (0) | 2023.10.25 |
| 모의해킹 공부를 위한 준비 1(가상머신, Kali Linux, 터미널프로그램(SSH), Text Editor(VSCode)) 맥북 M1 환경 (0) | 2023.10.23 |