虚拟机的使用
- 虚拟化的定义
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在-台计算机_上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的利用效率。用户在逻辑计算机上的操作体验如同真实的计算机。 - 虚拟化的类型
- 虚拟化的用途
企业用户:将整台服务器划分为若干个小的服务器以便于对资源、权限管理
互联网数据中心(IDC): 将整台服务器划分为若干个小的服务器出售给用户,如阿里云
个人用户:1)在不重新安装操作系统的情况下使用其他类型的操作系统,如体验下Mac OS、最新的Ubuntu等;2)对软件进行测试,安装多个版本的Windows操作系统,测试软件的兼容性;3)对软件进行安全审查,分析可能的病毒/木马样本 - 常见的虚拟化系统/软件
VPS【Virtual Private Server虚拟专用服务器】的使用
-
VPS简介
服务商将- 台服务器划分为若千个虚拟的服务器
用户体验与真实服务器没有什么区别,仿佛独享- 台配置较低的服务器
不同VPS服务商的使用体验差别很大,如超售会导致服务器资源紧张
小型VPS服务商数量很多,且-般存在超售的情况 -
VPS能干什么
搭建一个属于自己的网站【要考虑备案,小心被封】
博客、论坛…
部署一些自动化的程序
自动抢票、爬虫
当做一个跳板
自己所处的网络环境不允许某些操作 -
常见的VPS服务提供商
阿里云:国内最大的云服务器提供商,生态体系较为完整,一站式解决各种类型的VPS需求、域名、备案以及其他各种国内的云:基本都提供了学生优惠,使用体验相近
国外的VPS提供商同样值得-看:Vultr、DigitalOcean,基本都提供了支付宝、微信等较为方便的支付方式,基本都提供了按小时计费的方式
-
VPS的使用方法
通常使用SSH软件连接,相当于开启了一 个远程的命令行.
Xshell, 收费软件,功能齐全-
Putty, 十分小巧的SSH软件
Windows可以使用Windwos RDP
Linux基础
-
Linux的历史
Linux is not UNIX -
为什么要学习Linux
1)安全从业人员都要掌握Linux
安全,源码开源,经过无数开发者共同审核
高效,只需要敲命令就能完成大部分工作
不少渗透测试软件都在Linux.上构建,如Kali Linux
2)Linux被普遍用在小型设备如智能硬件等
低端路由器多采用魔改的Linux, 4MB的内存就能运行一 个Linux系统
新型的物联网设备多采用定制过的Linux
3)Linux在服务器市场占有不小份额 -
Linux的种类
-
Linux的精髓–Terminal
服务器一般没有图形界面,图形界面耗费资源、延迟较高、且不稳定
即使安装图形界面,体验也很差,故所有的操作都是在Terminal 下进行的
在大部分情况下,敲命令进行系统操作的效率要比点击鼠标高
打开方式:点击左侧快捷方式;桌面点右键
默认路径是:你登陆的用户的主目录,与Windows的命令行类似 -
Linux命令的使用
apt—软件的安装
包管理工具,Linux下的软件单位:“包”,许多软件都预先编译好放在包仓库里,安装软件时一条命令即可,可以安装、查看、删除、搜索
//检查已安装的软件包是否有可用的更新
apt update
//更新已安装的软件包
apt upgrade
//搜索名为XXX的软件,但检索效率较低,可找到包的名字、源码、安装、版本、维护者
apt-cache search XXX
//安装名为XXX的软件
apt install XXX
Y/n:Y默认操作为回车
//查看某个软件包的信息
apt-cache show XXX
//查看软件包的依赖关系
apt-cache show depends package_name
==========================================================================================
//apt中的软件有各种依赖,如装google-chorme时,很可能需要下载其他软件支持google-chorme的运行,
//与在windows上装游戏/软件总是要装VC++运行库、.net运行库、Direct X等同理
==========================================================================================
//卸载一个软件包并自动删除不需要的包
apt autoremove XXX
//卸载一个软件包但是保留相关的配置文件
apt remove XXX
//卸载一个软件包同时删除配置文件
apt-get-purge remove XXX
Linux的目录和文件管理
-
Linux的用户与用户组
Linux系统一切都是文件,设备是文件、网卡是文件
每个文件都有三个权限,指明了拥有者、用户组、其他人对这个文件的权限.
拥有者的权限即文件的拥有者对这个文件的权限
用户组的权限即文件拥有者所在的组的其他人对这个文件的权限
其他人的权限即除了文件拥有者所在组的所有人之外的人对这个文件的权限Linux 灵活、严格的权限管理机制为Linux的安全提供了很大保障
保证了Linux作为多用户操作系统,默认情况下一个用户无法访问另外一个用户的文件
保证低权限软件无法对重要文件进行修改
部分系统命令只能由root或拥有权限的管理员运行
用户组和其他人的权限设置保证了权限管理的灵活性 -
Linux文件的权限
//显示当前目录的详细信息,查看文件权限信息等
ls -al
a:代表所有人
//拥有者可以rwx,用户成员可以rwx,其他用户可以x
chmod 771 file或chmod ug=rwx,o=x file
//为所有人添加读取权限
chmod ugo+r file
//为拥有者添加写权限,去除其他用户的写权限
chmod ug+w,o-w file
绝对路径:完整的路径,由根目录/写起,如cat/var/www/html/index.html
相对路径:相对于终端的当前路径的路径,如当前终端位于/var/www目录,如需访问index.html,则只需输入cat./html/index.html
.表示当前目录
..代表上级目录
//搜索命令的相关文档,https://linux.die.net
man
//显示终端的当前路径(工作路径,working directory)
pwd
//创建新的目录
mkdir
//删除一个空的目录
rmdir
//复制文件或目录
cp
//移动文件或目录
mv
//移除文件或目录
rm
//切换终端的当前路径
cd
Linux文本编译器的使用
-
Linux文本编译器
用于修改文件内容的软件,类似于Windows上的记事本,但比记事本要强大很多
Windows操作系统有较好的图形界面,可以进行精确定位等
Linux-开始没有图形界面,所有操作在命令行下进行,文本编辑过程无法借助图形界面的一系列便利
程序员们为Linux的文本编辑器开发了一系列的功能,如快速定位、批量修改等●最著名的两个编辑器: emacs和vim
●共同点
较为陡峭的学习曲线,需要记住不少命令才能提高效率
emacs
强大的扩展性,本质是一个Lisp解释器
emacs是一个操作系统/emacs除了生孩子什么都能干
vim
扩展性不亚于emacs, 但专注于文本编辑器 -
vim的使用方法
//打开方式
vim 文件
sed
awk
netstat -lntp//此台虚拟机开放的端口
netstat -lntp | grep XXX//筛选出XXX的端口
top
四个模式:
1)正常模式(Normal-mode)用于浏览文件,此时敲击键盘会触发对应的快捷键,而不会输入文字,如按“i”,会进入插入模式
yy//单行文字复制
p//单行文字粘贴
dd//删除当前行
/ //查找
2)插入模式(Insert-mode)在此模式下按键盘上的QWERTY…都会输入对应的文字
3)命令模式(Command-mode)在正常模式下按“:”,在此模式下可以输入各种命令,如w保存文件,wq保存文件并退出,wq!写文件并强制退出
4)可视模式(Visual-mode)在正常模式下按下v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候很方便,如复制大段的文字
y//单行文字复制
p//单行文字粘贴,切换到正常模式