-
[산대특] 리눅스 알아가기, SSH[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Linux 2024. 8. 18. 20:38
0814
[centos@centos7-10-1 ~ ]$ centos centos7-10-1 ~ $ 사용자 호스트_명 현재 작업공간 일반 사용자 su 사용자 변경. "substitute user" 또는 "switch user"의 약자인 su - (하이픈) (su 의 옵션) login shell을 의미. 이 옵션을 사용하면 전환된 사용자(예: root)의 환경 변수가 새롭게 설정되고, 해당 사용자의 기본 셸 환경이 적용됩니다. 이는 마치 해당 사용자가 처음으로 로그인을 한 것처럼 환경이 초기화된다. [centos@centos7-10-1 ~]$ su root
=> 일반 사용자가 root 사용자로 변경. 작업 디렉터리는 그대로이다.
=> [root@centos7-10-1 ~ ]#
[root@centos7-10-1 centos ]#
=> root 사용자가 /home/centos 작업 디렉터리에서 작업한다는 의미
[centos@centos7-10-1 ~]$ su - root
=> [root@centos7-10-1 ~]#
=> 사용자 센토스 -> root , 작업 디렉터리 ~ -> /root
외부에서 Telnet, SSH 등으로 이 호스트에 접근하면 해당 호스트의 작업공간 으로 들어가게 된다.
더보기실습!
[centos@centos7-10-1 ~]$ pwd
/home/centos
[centos@centos7-10-1 ~]$ su root
Password: rootoor
[root@centos7-10-1 centos]# pwd
/home/centos
이렇게 되면
사용자만 root로 바뀌고 작업 디렉터리는 여전히 centos 네 꺼
[root@centos7-10-1 centos]# pwd
/home/centos
[root@centos7-10-1 centos]# su - root
Last login: Wed Aug 14 09:13:47 KST 2024 on pts/0
[root@centos7-10-1 ~]# pwd
/root
이렇게 되면 뭔 작업을 하면 여기에 저장된다.화면이 GUI 인지 CUI(OR CLI) 인지는 Runlevel 로 설정이 가능하다.
또한, GUI 를 사용하고 싶다면, CLI 기본에 필요한 모듈을 설치하면 GUI(runlevel 6) 를 사용할 수 있다.
모듈(패키지(싸놓은 것) -> 여러 패키지가 모여 번들(꾸러미))
Runlevel 은 0 부터 6 까지 있다.
0 1 2 3 4 5 6 Stop root CLI 예약(의미없) GUI reboot 쉘에서 명령어로 runlevel을 전환하려면
init (숫자)
그리고 init 에 관한 도움말 내용은 # cat /etc/inittab 여기에서 확인이 가능하다.
거기 쓰여 있는 내용에 의하면
# systemctl set-default multi-user.target
=> 이렇게 하면 Runlevel 3 가 킬때마다 나온다.
# systemctl set-default graphical.target
=> 이렇게 하면 Runlevel 5 가 킬때마다 나온다.
또 현재 runlevel 을 확인하고 싶다면
# systemctl get-default
관리자 입장에서 가장 중요한 작업은
dd, sfdisk 로 MBR, Partition, GRUB(2) 복사해두기가 있다.
MBR(Master Boot Record)
dd :
물리적인 블록장치를 복사할 때 사용.
sfdisk :
파티션을 볼 때 사용. ( 이 외에도 lsblk, fdisk 등으로도 볼 수 있다) (blk == 벌크 == 왕창!)
MBR :
Normaliy 부팅 정보는 디스크 파티션의 맨 처음 512K Byte 에 있는 가장 맨 앞의 1st track & 1st sector 에 설치되는 곳.
MBR 의 역할은 HDD에 저장된 데이터에 대한 indexing(색인/식별) 역할을 한다. 이러한 이유로 FAT(File Allocation(할당) Table) 이라고 볼 수 있다.
그래서 MBR 을 백업해둔다면, 시스템 부팅시 문제가 있어도 복구할 수 있다.
MBR은 다음으로 구성되어 있다.
466 byte의 BootStrap 64bytes의 Partition table 2bytes 의 Signature 더보기[root@centos7-10-1 centos]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─centos-root 253:0 0 35G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom /run/media/centos/CentOS 7 x86_64sda 의 sda1, sda2
물리적 하드디스크는 하난데 두개로 파티션 되어있음.
1번은 부트하는 부팅정보를 갖고 있고,
sda2 도 두개로 쪼개져있다. 하나는 root 이고 하나는 swap 메모리이다.예전에는 Linux 를 설치할 때
/tmp, /home, /bin ... 공간을 하나하나 할당하여 사용했었다.
현재는 / 그리고 swap 만 설정해두면 동적 할당으로 /home 의 용량이 적어지면 / 로부터 늘려오게 되어 있다.
!!! 부트(부팅) 파티션이 망가지면 안되어서 매우매우 중요하다 !!!
더보기[root@centos7-10-1 centos]# dd if=/dev/sda1 of=/tmp/sda1.mbr count=1 bs=512k ; sync
1+0 records in
1+0 records out
524288 bytes (524 kB) copied, 0.00196555 s, 267 MB/s
한번 만 복사, 크기는 512k , 동기화[root@centos7-10-1 centos]# ls /tmp | grep mbr
sda1.mbr
[root@centos7-10-1 centos]# ls -l /tmp
ls -l == 속성을 볼 수 있다.
-rw-r--r--. 1 root root 524288 Aug 14 10:10 sda1.mbr
만약 부팅정보가 망가졌다면
[root@centos7-10-1 centos]# ###dd if=/tmp/sda1.mbr of=/dev/sda1
요렇게 입출력을 바꾸면 복원이 된다.더보기[root@centos7-10-1 centos]# sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 2097152, Id=83, bootable
/dev/sda2 : start= 2099200, size= 81786880, Id=8e
/dev/sda3 : start= 0, size= 0, Id= 0
/dev/sda4 : start= 0, size= 0, Id= 0
왼쪽의 실행결과를 오른쪽으로 보내라 > (리다이렉트)
[root@centos7-10-1 centos]# sfdisk -d /dev/sda > /tmp/sda.part
결과가 저기로 들어가 파일이 되었다.
[root@centos7-10-1 centos]# cat /tmp/sda.part
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 2097152, Id=83, bootable
/dev/sda2 : start= 2099200, size= 81786880, Id=8e
/dev/sda3 : start= 0, size= 0, Id= 0
/dev/sda4 : start= 0, size= 0, Id= 0
[root@centos7-10-1 centos]# sfdisk /dev/sda < /tmp/sda.part
방향을 반대로 하면 복원시킬 수 있다.실행파일
Linux 머신 ~.bin, ~.py, ~.pl(밤하늘의 퍼얼), ~.sh 등 Windows 머신 ~.exe, ~.bat(배치파일), ~.com Linux 머신에서 Windows 실행파일을 실행해줄 수도 있다, 단 Linux 머신에서 실행한다면 wine 이라는 프로그램이 필요
(더불어, Ubuntu 가 가장 잘 된다)
Ubuntu에서는 sudo su root 해주고 ubuntu 사용자의 패스워드를 주면 root 사용자가 된다.
<= root 관리자의 패스워드를 지정하지 않음, 하지만 일반 사용자가 관리자 root의 권한을 사용하게 하는 sudo를 처음부터 사용하게 해서 관리자 root로 들어가게 한다. Ubuntu 에서는 sudo 를 사용하도록 /etc/sudoers 파일에 사용자를 넣거나 %sudo 그룹에 넣어둔다.Centos 에서는 su root 해주고 root 관리자의 패스워드를 주면 root 사용자가 된다.
<= root 관리자의 패스워드 지정. CentOS 에서는 sudo 를 사용하도록 /etc/sudoers 파일에 사용자를 넣거나 %wheel 그룹에 넣는다.더보기root@ubuntu10-1:/home/ubuntu# cat -n /etc/sudoers
1 #
2 # This file MUST be edited with the 'visudo' command as root.
3 #
4 # Please consider adding local content in /etc/sudoers.d/ instead of
5 # directly modifying this file.
6 #
7 # See the man page for details on how to write a sudoers file.
8 #
9 Defaults env_reset
10 Defaults mail_badpass
11 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
12
13 # Host alias specification
14
15 # User alias specification
16
17 # Cmnd alias specification
18
19 # User privilege specification
20 root ALL=(ALL:ALL) ALL
21
22 # Members of the admin group may gain root privileges
23 %admin ALL=(ALL) ALL
24
25 # Allow members of group sudo to execute any command
26 %sudo ALL=(ALL:ALL) ALL
27
28 # See sudoers(5) for more information on "#include" directives:
29
30 #includedir /etc/sudoers.d
root@ubuntu10-1:/home/ubuntu# id ubuntu
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
Compile 은 소스코드 파일을 컴퓨터가 인식하게 해주는 과정 < - compiler 가 필요하다.
hardware compile : kernel 업데이트
software compile : 소프트웨어를 실행할 때 여러 조건을 주면서 실행시킬 수 있다. 사람이 만든순서 : ./configure --조건(졸라) > make > make install APM ***
Apache Web Server + PHP Web Programming language + MySQL Database
이 세가지 프로그램이 각각 독립적으로 실행되지 않고 연동되어 실행되어야 한다면
Software Compile 을 해서 실행시켜 주어야 한다.Linux 에 소프트웨어를 설치할 때
1) yum/apt Repository 를 이용해서 종속적인 문제도 해결하면서 설치 2) Googling 해서 ~.rpm, ~.tar.gz, ~.tar,bz2, ~.deb 등을 파일을 다운 받은 뒤 압축을 풀고 설치하기 3) 해당 소프트웨어 벤더(Vendor) 사이트에서 파일을 다운받아서 설치 더보기apt -y install wine-stable
putty 파일 다운받아서
바탕화면 shared 에 옮기기 그 후 PUTTY.EXE 를 우분투로 끌고 온다.
(나는 안되어서 그냥 드래그앤 드롭함)가끔 우분투 dpkg 흔한 버그가 걸리는데
rm -rf /var/lib/dpkg/lock*
로 하면 된다.
더보기푸티로 다른 가상머신 접근 실습
푸티를 shared file 혹은 Drag & Drop 한다.
root@ubuntu10-1:/home/ubuntu# cd Desktop/
root@ubuntu10-1:/home/ubuntu/Desktop# ls
134.txt PUTTY.EXE shared
root@ubuntu10-1:/home/ubuntu/Desktop# wine PUTTY.EXE이 창이 나오면 잘 된 것!
센토스 IP를 입력해 연결해보겠다.
잘된다
IP 주소에서의 0.0.0.0 은 Any 라는 의미로 == '누구나' 이란 뜻을 갖고 있다.
Linux 머신 부팅 시
1) /etc/inittab 파일에서 runlevel 을 읽어들이고
2) /etc/fstab 파일에서 블록장치를 자동으로 마운트한다.
3) /etc/(rc.d/init.d/)rc.local 파일에서 부팅 전에 실행되어져야 하는 파일들을 설정해서 실행시킬 수 있다.여기에서 주로 뭘 실행하는가?
=> AV(Anti, Virus), Disk Quota(분담한 몫), BackUp, NTP(엄청중요한거 Network Time Protocol) 등을 넣어둔다.
Power-on => BIOS(basic input output system) 설정 점검
=> /etc/init.d/inittab 런 레벨 데몬 점검 => /etc/fstab 등에서 내/외부 장치 마운팅
=> /etc/rc.local 시작 직전 설정 실행 => 로그온 화면 보이기
순으로 진행되는 것을 cat /etc/rc.d/rc/sysinit 해서 살펴볼 수 있다.
시스템 부팅에 관계된 또하나의 중요한 부분으로는 '부트 프로세스'가 있다. 이 부분을 잘 이해해야 한다.
Linux 시스템을 옳게 사용하려면 그 시작과 종료 과정을 잘 따라야 한다.
Linux는 갑자기 시스템이 다운됐을 때 자동으로 시스템을 복원해주는
저널링(journaling) 기능이 Ext3부터 적용되어 있고, 멀티부팅 시스템으로 구성되어 있다면
컴퓨터를 켰을 때 GRUB 부트로더가 어느 운영시스템으로 로드할 지 선택하는 메뉴를 보이는데
그대로 두거나 엔터키를 누르면 디폴트 운영체제가 실행되게 된다.
Ext3(Extended File System 3)은 리눅스에서 사용되는 저널링 파일 시스템 중 하나
Linux의 실행은 두 단계로 이뤄져 있는데,
첫 단계는 전원을 켰을 때 시스템이 로드되는 것이고,
두 번째는 작은 로그인 창이 뜨는 것이다.
로그인을 해야만 시스템에 접속하여 유틸리티와 프로그램을 사용할 수 있다.
=> 사용자명 & 패스워드
실습 내용
GRUB 파일은 부팅에 관련된 정보를 가지고 있지만 내용 중 ~ rhgb quiet 부분을 조절하면
GRUB 모드로 들어가는 방법
init 6 으로 리붓을 하면서 뜨는 검정 창의 두 가지 선택지가 뜨는 화면에서 e 를 누르면 나온다.
이 상태에서 Ctrl C 를 누르면 GRUB 프롬프트가 나온다.
중요한 부분이므로 함부로 손대지 않긔
더보기간단한 리눅스 실습
[root@centos7-10-1 centos]# pstree
프로세스가 계층형으로 되어 있다.
systemd 시스템 데몬으로 연결되어 있다.[root@centos7-10-1 centos]# cd /etc/rc.d
[root@centos7-10-1 rc.d]# ls
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
runlevel 과 초기화 파일들이 있다.[root@centos7-10-1 rc.d]# cd rc3.d/ ; ls
K50netconsole S10network
이동 후 ls 명령어 를 치면
K 와 S 로 시작한다.바로 위에 보이는 ls /etc/rc.d/rc3.d/ 에서의 K50netconsole S10network 는
각각 K 는 Kill, S 는 Start 하는 파일이다.
[root@centos7-10-1 rc.d]# ls
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local여기서 숫자가 있는 파일은 Runlevel 단계 별 파일이고, 그 안에는 각 단계별 시작과 종료 파일이 있다.
우리가 runlevel 3 에서 5로 바꿀 때 일어나는 것이 3의 Kill 그리고 5의 Start 이다.
더보기또 간단한 리눅스 실습
[root@centos7-10-1 rc3.d]# cd
[root@centos7-10-1 ~]# pwd
/root
그냥 cd 만 치면 사용자의 작업디렉터리로 간다.[root@centos7-10-1 ~]# su - centos
Last login: Wed Aug 14 14:08:22 KST 2024 on :0
[centos@centos7-10-1 ~]$ cd
[centos@centos7-10-1 ~]$ pwd
/home/centossu : 현재 사용자를 다른 사용자로 변경하기 위한 명령어.
- : 이 옵션은 "login shell"을 의미합니다.이 옵션을 추가하면 사용자가 새로운 환경으로 로그인한 것처럼 설정됩니다.
즉, 해당 사용자의 환경 변수, 경로 설정 등이 적용됩니다.
centos : 전환하고자 하는 사용자 계정 이름입니다.$ 모드에서 사용자가 centos인 상태에서
[centos@centos7-10-1 ~]$ su root
Password:
[root@centos7-10-1 centos]# pwd
/home/centossu root 명령어는 현재 사용자의 환경을 그대로 유지하면서 root 사용자로 전환
root 는 남의 홈 디렉터리/작업공간에 뭐든 할 수 있다. root 가 최상위 권한이기 때문이다.
반면 다른 사용자 ex)centos 는 권한이 없어 남의 홈 디렉터리/작업공간에 뭘 할 수가 없다.
[root@centos7-10-1 centos]# mkdir ROOT
[root@centos7-10-1 centos]# ls
Desktop Documents Downloads Music Pictures Public ROOT Templates Videos
root 라는 애가 디렉터리를 만들었는데 남의 작업공간/집 centos 네 집에 들어가서 만든것이다.[root@centos7-10-1 centos]# su - root
Last login: Wed Aug 14 14:35:09 KST 2024 on pts/0
[root@centos7-10-1 ~]# pwd
/root
~ 는 자신의 작업공간이라 하였다.
[root@centos7-10-1 ~]# mkdir ROOT
[root@centos7-10-1 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg ROOT
[root@centos7-10-1 ~]# su centos
[centos@centos7-10-1 root]$ pwd
/root
[centos@centos7-10-1 root]$ mkdir cent
mkdir: cannot create directory ‘cent’: Permission denied
==권한없음/ 루트는 최상위 권한이고 최상위 부모니까 하위 어디든 갈 수 있지만
밑에 권한은 상위 권한에 대한 action을 못한다.shutdown 명령어의 옵션
hh:mm ‘몇 시:몇 분’에 shutdown 시킴 shutdown -r now 시스템 지금 리부팅 시킴, reboot, init 6와 동일한 명령어 shutdown -h now 시스템 지금 종료 시킴, halt(허!), init 0 과 동일한 명령어 shutdown -h +5 5분 후에 시스템 종료합니다 종료 메시지를 보내고 5분 후에 종료함 shutdown -h 12:00 점심시간입니다 12:00 시에 메시지를 보내면서 종료함 등이다. 더보기ssh 그리고 tty
우분투에서 22 포트 방화벽 열어주고
root@ubuntu10-1:/home/ubuntu/Desktop# ufw allow 22/tcp
Rules updated
Rules updated (v6)
root@ubuntu10-1:/home/ubuntu/Desktop# ssh centos@192.168.100.137
The authenticity of host '192.168.100.137 (192.168.100.137)' can't be established.
ECDSA key fingerprint is SHA256:d1cOusOePz9+JJ6M7LBBmcP8EMFncByVXdXOFSs2U4Y.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.137' (ECDSA) to the list of known hosts.
centos@192.168.100.137's password: 비번입력
Last login: Wed Aug 14 14:38:02 2024
[centos@centos7-10-1 ~]$우분투 -> 센토스 성공
우분투에서 센토스 접속한 콘솔 말고
원래 센토스의 콘솔로 와서
[root@centos7-10-1 ~]# w
15:01:17 up 53 min, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
centos :0 :0 14:08 ?xdm? 41.72s 0.11s /usr/libexec/gn
centos pts/0 :0 14:40 5.00s 0.06s 0.54s /usr/libexec/gn
centos pts/1 192.168.100.134 15:00 31.00s 0.02s 0.02s -bash하면 현재 누가누가 콘솔을 사용하고 있고 누가 몇번째 콘솔을 사용하고 있는지 알 수 있다.
센토스에서 tty
[root@centos7-10-1 ~]# tty
/dev/pts/0센토스에 접속 성공한 우분투에서 tty
[centos@centos7-10-1 ~]$ tty
/dev/pts/1
tty 란,
현재 열려있는/연결된 쉘 프롬프트(console, terminal) 를 보이는 명령어이다.
순서가 /dev/pts/0, 1, 2… 식으로 열린다.
리눅스에서 원격 연결은 Telnet, SSH, Rlogin, VNC(GUI 연결)이 있고,
Windows 에서의 원격 연결은 Remote Desktop 기능이 있다.
여러 Linux 머신을 보다 편리하게 작업을 위한 SuperPutty 와 Xshell 이란 프로그램도 있다.
마치 크롬에 여러 창을 띄우듯이, 여러개의 리눅스 머신들을 연결하여 여러 창으로 띄워놓고 한 곳에서 작업할 수 있다.
더보기Win7 에 슈퍼푸티를 설치 후에
우분투에서
root@ubuntu10-1:/home/ubuntu/Desktop# apt -y install openssh-server
root@ubuntu10-1:/home/ubuntu/Desktop# ufw allow 22/tcp
Skipping adding existing rule
Skipping adding existing rule (v6)한 후 Win 7에 깔린 슈퍼푸티에서 우분투와 센토스로 SSH 연결을 한다.
이러한 기능은 클라우드 관리를 할 때 상당히 유용하다.
클라우드엔 하나씩 관리하기 힘들 정도로 많은 가상머신들이 있고, 호스트 노드들이 있다.
SuperPutty, Xshell 을 사용하여 한 곳에서 이들을 일괄관리할 수 있다.
여기에다 Puppet 이나 Ansible 과 같은 도구를 사용해서
서버 한 곳에 manifest(명백한) / playbook 파일에 설정을 해두면 무수한 클라이언트들이
일괄적으로 설정에서 지정한대로 정해진 시간에 스스로 버전을 확인하고
서버에 맞춰 자신들이 알아서 작업하여 변경한다.
RPM 은 redhat 계열의 패키지 매니저 이다.
[root@rocky10-1 rocky]# rpm -qa rlogin
글로벌 인재가 되기 위한 자주 쓰는 기호의 영어 이름들
~ tilde * asterisk @ at # sharp/shop $ dollar ^ caret(다이아몬드 1캐럿할때 캐럿) & emphersand ( )open/ close parentheses(괄호란 뜻, 하나씩 읽을 때는 "parenthesis") [ ] open/close bracket > < right/left redirect \ reverse slash / slash | pipe/vertical bar 등... 각종 프로그래밍 언어(C, Python, Java, ShellScript, …) 와
Database (Oracle, MySQL, MS SQL, 까라까라…) 등에서
문자열을 가장 효율적으로 표현하기 위한 방법
==> *****정규 표현식 regular expression *****
* or % : all _ or ? : one character a_b : a1b, aab, a로 시작하고 b로 끝나는 a__b : a12b, avgb… (두자리) a*c : a로 시작하고 중간에 뭐가 몇개 있던 c로 끝나는 것 [n|N]* : 소문자 n 혹은 대문자 N 으로 시작하는 뒤에 뭐가 붙은 상관없는 애
<- no, No, NO, None, ….. nnnnnnnnnnnnnnnnnnnno, NNNNNNNNNNNo^[n|N]* : 이 외에 것들 모두. 시작(^)에서 n 또는 N이 0번 이상 반복되는 패턴"을 찾는 것
<- no, No, NO, None, ….. nnnnnnnnnnnnnnnnnnnno, NNNNNNNNNNNoRedHat 계열에서 포트 여는 방법
firewall-config 하여
firewall-cmd --reload
하는 방법과
그래픽으로 한걸 명령어로 할 수도 있다.
firewall-cmd --permanent --zone=public --dport=513
또
iptables -I INPUT 1 -p tcp -m state --state NEW --dport 513 -j ACCEPT
이런 방법도 있다
Firewall 방화벽 이란,
외부에서 들어오는 포트를 규제하는 설정
Router 에서는 ACL(Access Control List)로 설정하고
Linux 에서는 iptables, firewall-cmd(CLI), firewall-config(GUI) 에서 하면 된다.
또 방화벽과 비슷한 기능을 하는 보안 설정이 있다.
SELinux 에서의 설정으로 Linux만을 위한 보안 설정이다.
영구적인 설정은 /etc/selinux/config 파일에서 설정
임시적인 설정은 # setenforce 0/1 식으로 현재 프로세스에만 적용할 수 있다.
enforcing 강제하다. 보안 레벨을 설정하는 명령어
setenforce 0 는 누구나 다 가능 보안을 낮춘것.'[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 > Linux' 카테고리의 다른 글
[산대특] 파티션 포맷, 명령어들 설명 및 실습 (0) 2024.08.22 [산대특] Software Compile, Patch, Samba, SMB, 파티션 포맷 (0) 2024.08.21 [산대특] Internet 오류시 점검, 커널과 커널 컴파일(Kernel Compile) (0) 2024.08.20 [산대특] VNC, 방화벽, 시스템 시간, > >>, ifconfig/iptables, FQDN, wireshark, promisc, (0) 2024.08.19 [산대특] 개념들 VMware Ubuntu, CentOS, Rocky, Win7 설치 (0) 2024.08.13