기타 관리용 명령어
2. su CMD
다른 유저로 switching 할 때 사용
# su fedora
# su - fedora
특성으로는 -를 붙이느냐 안 붙이느냐
특별하지 않으면
#su - fedora로 접속 ( 새로 접속한 것 처럼)
[실무 예]
계정을 두 개 가지고 있을 때 oracle / root,
사용자를 전환해서 사용할 때가 많다
# su oracle (X) 이전 사용자가 쓰고 있던 환경 변수가 그대로 넘어온다 : 좋지 않은 방법
# su - oracle (O) 새로 로그인 한 것처럼 자기 변수로 바뀐다 : 좋은 방법
*사용자 변경 다른 방법
# ssh fedora@localhost
# hostname
# id
# pwd
* 스위칭을 하면 습관적으로 id / pwd를 쳐서
사용자를 확인하자!
[참고] sudo CMD(/etc/sudoers, /etc/sudoers.d/*)
# sudo CMD(superuser do) => (WIN) 관리자 권한으로 실행
* /etc/sudoers (/etc/sudoers.d/*) : 사용자가 수행할 수 있는 커맨드를 설정할 수 있다. 사용자 이름과 커맨드
* wheel 그룹(RHEL 5 이하, RHEL 6 이상) (관리자 그룹을 가지고 있는 그룹)
su VS sudo
$ su – root (관리자로 스위칭 / 관리자 암호를 맞춰야 함)
$ sudo CMD (자기 암호를 맞춰야 함)
sudo 명령어 사용 예
# sudo –l : (옵션 소문자 L) 내가 sudo를 통해서 쓸 수 있는 명령어들 확인
# sudo su - root
# sudo -i
[실습] fedora 사용자로 sudo 명령어 수행 실습
# ssh fedora@localhost
fedora 사용자로 로그인
$ id
$ pwd
$ cat /etc/shadow
권한 없어서 접근 안됨
$ sudo -l
$ sudo cat /etc/shadow
$nmcli connection
$ nmcli connection up ens33
관리자 아니면 수행 불가
$ sudo -l
$sudo nmcli connection up ens33
$ exit
# ssh fedora@localhost
fedora 사용자로 로그인
$ sudo su -
# id
# exit
$ sudo -i
# id
# exit
$ exit
#
5. last CMD
사용자 추적 커맨드
# last
# last | head
# last -f /var/log/wtmp.#숫자
[사용 예]
(개발자 요청 내용) 어제 파일(예: file.log)을 삭제한 사용자를 검색해 달라.
(정보 1) 어제 파일이 지워졌다.
# last | grep 'Jun 8'
(정보 2) 지워진 파일의 이름 : file.log
# cat ~/.bash_history
# cat ~/.bash_history | grep 'file.log' | grep rm
# history ( 최근 사용한 명령어를 보여준다)
(작업 준비)
# cd /test
# chmod 777 /test
# touch file.log
# telnet localhost
fedora 사용자로 로그인
$ rm -rf /test/file.log
$ ls /test
-> file.log 파일이 지워졌는지 확인
$ exit
-오늘 fedora 사용자가 중요한 파일 file.log를 삭제했다-
6. lastlog CMD ( /var/log/lastlog)
사용자들의 로그인 기록들을 보여준다
# lastlog
오랫동안 사용 안 한 계정들 확인이 가능하다.
확인되면 lock 걸어주자.
7. lastb CMD (var/log/btmp)
사용자의 실패 기록을 보여준다.
# watch lastb (2초마다 한 번씩 반복적으로 수행하는 커맨드)
# lastb | grep user01 | wc -l
# lastb | grep ssh | wc -l
8. who CMD (var/log/utmp)
서버 사용자를 보여준다
9.w CMD (var/log/utmp)
사용자들의 실시간 정보를 보여준다.
지속성은 없다.
*실습을 위해 터미널 에뮬레이터 설치해야 함!
Host OS(윈도우)에 깔려있어야
vmware로 구동이 가능하다.
모니터링 구문
while true
dp
CMD
sleep 2
done
exit CMD
사용 예)df -h -T -t ext4
계속 모니터링하고 싶으면 while 반복문
while true
do
echo "--------------`date`----------"
df -h -T -t ext4
sleep 2
done
사용 예 2) ps -ef | grep httpd | wc -l
이걸 모니터링하고 싶으면 while 반복문
while true
do
echo "--------------`date`----------"
w ps -ef | grep httpd | wc -l -h -T -t ext4
sleep 2
done
* 악의적인 사용자 강제 로그아웃 시키기
# kill -9 ****(PID 번호)
10. exit CMD( 값을 지정해 준다면 0번 1~255는 비정상 종료)
현재 쉘을 종료.
VI 편집기
리눅스를 다루는 사람이라면
처음 넘어야 하는 산
# vi filename
vi VS vim
vim을 사용한다.
ls -l /bin/vi (용량 907k)
ls -l /bin/vim (용량 2.3M)
*편집기 기본 원리
구조
1. 편집기 처음 들어가면
command mode(ESC mode)
: 입력 외에 나머지 작업만 가능
2.
입력을 원하면 입력 모드
input (insert) 모드로
들어가야 입력이 가능하다
i, a, o ( I, A, O)
:insert / append / open-line
돌아갈 땐 ESC 키
3.
last line mode
: command mode에서 넘어가야 한다
이동할 땐 shift :
커맨드 모드로 넘어갈 땐 enter
저장 후 나갈 땐
shift : q /wq ...
파일의 종류
1. 일반 파일 :
inode
# ls -ld dir1
# ls -ldi dir1
# ls -ali dir1
# echo 1111 > >dir1/file1
# ls -ali dir1
2. 디렉터리 파일
3. 링크 파일 (Link file)
하드 링크 파일 (Hard link file) # ln file1 file2
심벌릭 링크 파일 (Symbolic link file)# ln -s file1 file2=> 이게 중요하다
= soft link file (차이점 : s 옵션이 없으면 하드, 있으면 심벌릭)
[참고] 하드링크 VS 심벌링크
(ㄱ) 파일 시스템을 넘어서 링크를 걸 수 있는건 심벌링크
(ㄴ) 디렉토리에 링크를 걸 수 있는건 심벌링크
[실무 예] /was -> /zeus (관공서,공공기관에서 쓰는 제품, 대한민국 약 50% 점유율)
(ㄱ) 바로가기 아이콘 만드는 작업 # ln -s /was /zeus
[실무 예] 여러가지 서비스 디렉터리 통합
(ㄱ) 바탕화면에 바로가기 아이콘 만들기
FTP : /etc/vsftpd
WEB : /etc/httpd/conf
DNS : /var/named/chroot/etc
# ln -s /etc/vsftpd FTP
# ln -s /etc/httpd/conf WEB
# ln -s /var/named/chroot/etc DNS
[실무 예] 오픈 소스 프로그램 형태의 소스 버전 관리
# ln -s /usr/local/tomcat-4.x /usr/local/tomcat
* 빨리빨리 작업할 수 있는 환경을 만들어 일의 효율성을 높여야 한다.
[EX3] 하드 링크 & 심벌릭 링크 설명
■ 하드 링크(#ln file1 file2)
두 개의 파일의 inode 번호가 동일한가? yes
ls -li 특이한 변화는? Inode 번호가 일치하므로 사실상 같은 파일
두 개의 파일 사이즈는 동일한가? yes
file2의 편집하면? file1도 편집된 파일이 보인다. (같은 공간을 다루는 것)
*저장 공간은 하나만 가지고 감
■ 심벌릭 링크(# ln -s file1 file2)
두 개의 파일의 inode 번호가 동일한가? no
ls -li 특이한 변화는? Inode 번호가 다르고 권한도 다르고 파일명이 다른 파일을 가리키고 있다
두 개의 파일 사이즈는 동일한가? yes
file2의 편집하면? 같은 공간을 다루기에 같이 보인다.
# dd if=?dev/zero of=file1 bs=1M count =400
# find /data1 -inum 12 -type f
4. 디바이스 파일
- 디바이스 드라이버(소프트웨어) : 운영체제의 커널이 새 장치와 통신할 때 사용
(장치 드라이버는 장치 회사가 만들어야 한다)
예) 프린트 회사가 프린트 드라이버를 제공해야 함.
대신 운영체제에서는 범용을 내장시켜준다.
- 장치를 꽂으면 커널에서 새 장치를 인식한다.
- 리눅스에서 장치의 목록을 담고 있는 곳 /dev/*
- 모든 장치는
: 캐릭터 디바이스
: 블록 디바이스
두 가지가 있어야 하고 리눅스에서는 Block만 보여준다. (사용자가 못 건드리게 C는 숨겨둔다)
두 가지 중 하나의 형태로 생성된다.
차이는 block 단위 (4k, 2k, ...)
512바이트(섹터) 단위로 IO를 발생한다.
마운트 해서 쓰는 장비는
블록 단위로 받으면서 성능을 높여 받는다.
'정보보안공부 > 정보보안전문과정' 카테고리의 다른 글
모의해킹 침해대응 정보보안 전문가 양성과정 Day6 (0) | 2020.09.09 |
---|---|
모의해킹 침해대응 정보보안 전문가 양성과정 Day5 (0) | 2020.09.08 |
모의해킹 침해대응 정보보안 전문가 양성과정 day4 (0) | 2020.08.28 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day2 (0) | 2020.08.26 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day1 (2) | 2020.08.25 |