Linux云计算个人学习总结(一)

windows计算机基础
一、概述
1.计算机基本原则:计算机是执行输入、运算、输出的原则。软件是指命令和数据的结合,计算机中所有的内容皆为数字。
2.计算机的类型
计算器 手机 cps等都属于计算机。
3.计算机的发展
第一代计算机电子管时代(1946-1958)艾迪雅克
特点:体积大,功耗高,可靠性差,速度慢(每秒数千至万次)
典型机型:ENIAC
第二代计算机晶体管时代(1958-1964)
特点:体积缩小,能耗降低,可靠性高(每秒十万次,最高可达300万次)
典型:TRADI
第三代计算机 集成电器时代(1964-1970)
特点:中小规模集成电器被大量应用,可靠性高,价格下降(每秒百万次至千万次)
典型:IBM 360系列
第四代大规模和超大规模集成电器时代(1970-至今)
特点:进入微机时代,体积小,价格低,速度更快(每秒数亿至十亿)
典型:IBM370 首次区分软件和硬件,明确软件价值
APPLE II 支持彩色图形的个人计算机 IBMpc 兼容机
第五代计算机:未来发展趋势没有明确的划分(量子计算机 中子计算机 人工智能)
4、计算机的类型(www.Top500.org)是全球前五百台超级计算机排行榜
分为:超级计算机、大型计算机、迷你计算机、工作站、微电脑
5、计算机结构
计算机遵循冯诺伊曼体系结构
结构分为运算器、控制器、存储器、输出设备、输入设备
Cpu:运算器和控制器
内存:存储器
6、硬件概念:看得见摸得着的设备,如cpu、内存、硬盘、显卡、屏幕、电源等
7、品牌机与组装机的区别
品牌机:稳定性、附件、售后、外观
组装机:价格便宜、灵活性选择性高
二、硬件参数
1、数据单位
计算机最基本的数据存储单位是字节(byte)
计算机中最小的数据存储单位(bit)比特
8bit=1byte字节
1024B=1KB 千字节
1024KB=1MB 兆字节
1024MB=1GB 吉字节
1024GB=1TB 太字节
1024TB=1PB 拍字节

1024PB=1EB 艾字节
1024EB=1ZB 泽字节
1024ZB=1YB 尧字节
1024YB=1BB 珀字节
1024BB=1NB诺字节
1024NB=1DB 刀字节

2、主板
作用:计算中各种硬件的载体,负责硬件之间的通信
主板接口:CPU接口、内存接口、pci接口、pci-e接口
Pci:外设组件互联标准,适用于加设独立声卡、网卡、usb扩展卡
Pic-e:新一代外设组建互联标准,主要用于加装独立显卡
主板芯片组由北桥芯片组和南桥芯片组组成
北桥芯片组(NB):主要负责连接速度较快的硬件如内存、cpu和显卡
南桥芯片组(SB):主要负责连接速度较慢的硬件设备如硬盘、usb、网卡
北桥芯片组由于目前比内存和cpu发展速度慢,限制了其cpu和内存性能,慢慢已经融合到cpu里面了,内存和cpu互联互通,不需要北桥芯片组。
类型
主板分为大板和小板
大板:一般特指ATX板,即标准主板,通常为长方形,尺寸较大,接口丰富,扩展性好。
小板:一般特指M-ATX板,即紧凑型主板,大多为正方形,尺寸较小,接口全被精简,通常安装在较小机箱中,散热较差。
3、cpu(中央处理器)
Smp架构:对称多处理器架构,一台计算机中汇集多个处理器
A:核心数
多核:一个半导体芯片中集成两个或多个处理器内核
多芯:在一个主板上安装多个处理器芯片
B:频率:cpu每秒钟可以进行的工作次数
主频:外频*倍频
外频:cpu与外部硬件进行数据传输速度。
倍频:cpu内部用来加速的指标。
Cpu可以超频,只能调整外频,降低使用寿命。
超频:通过调整外频从而使主频超负荷。
4、缓存:解决cpu和内存之间读写速度差异问题。
5、cpu接口分为:LGA、socket,主板和cpu的针脚要和匹配
6、CPU每次处理的数据量分为32位和64位
7、cpu线程、超线程的含义是同时执行多个任务
8、cpu品牌:分为因特尔和AMD 参考网络top100天梯图
9、内存:计算机中主要的存储组件,名称为DRAM(动态随机存取内存,也叫挥发性内存)
SDRAM(是内存统称)和DDR SDRAM 容量:4G、8G、16G、32G等等,其中DDR的意思为双倍动态随机存取内存,目前市面常见为DDR2\DDR3\DDR4,R2、R3基本淘汰,DDR4为主流内存,内存频率为2133MHz、2400MHz、2666Mhz、2800Mhz等
10、硬盘:分为固态硬盘和机械硬盘,固态硬盘传输速率高,抗损性强,但易老化,机械硬盘为传统硬盘,使用寿命强,稳定,可以修复 价格便宜,但其体积大,传输速率慢,通电情况下移动容易造成硬盘损伤。
转速(机械硬盘)一般为:5400\min、7200\min、10000\min
接口:SATA(IDE)连接线较窄对机箱散热较好,理论值可达600MB/s,实际为150-200MB/s
SAS(SCS)早期用于服务器,个人电脑需要外接转接口使用理论可达1200MB/s
USB:最传统的接口,USB3.0接口理论可达500MB/s,实际100MB/S

显卡
类型:分为集成显卡、独立显卡和核心显卡
集成显卡:集成在主板的显卡,需要占用系统资源(cpu、内存等)目前最大512MB
核心显卡:集成在cpu中的显卡,性能比集成显卡好,功耗较低,性价比高
独立显卡:自成一体,自带内存,不占用系统资源性能最好,扩展性好。
图像处理器:GPU显卡(相当于cpu作用)
存储器:显存
显示器
尺寸:单位英寸,一英寸=2.54cm,显示器两个对角距离为此显示器的英寸
类型:分为宽屏16:9,普屏:4:3
分辨率:单位面积内显示像素的数量,19201080 水平1920 垂直1080
刷新率:显示器的画面更新速率(每秒)一般为60HZ,最高200HZ
接口:D-sub:VGA:不支持热插拔,不支持音频传输,最常见的接口
HDMI:数字视频接口,速度更快,分辨率支持的更高,是未来趋势
光驱:CD容量:700MB ,DVD:4.7GB
光驱传输速率为倍速:标准倍速150KB/s,50
即代表50*150KB/S
光盘光驱通常用于提供驱动程序(如打印机、网络设备等),安装盘(系统、程序等)
鼠标键盘
PS/2接口,不支持带电插拔,usb接口:支持热插拔
机箱、电源
主板匹配度,是否支持背线,外观好看
计算机组装
流程:安装主板,固定cpu、散热片、内存、显存、硬盘、电源、面板
计算机安装注意事项:静电原则:防止静电损坏集成电路

BIOS
概述:基本输入输出系统
作用:存储计算机的基本硬件信息
功能:加电自检(power on self test)、引导操作系统:光盘、硬盘、网络、U盘
BIOS软件与BIOS芯片
通过BIOS可以修改配置参数(如操作系统启动顺序)
通过BIOS中保留BIOS软件中的默认配置信息
BIOS系统是ROM:只读内存
CMOS是RAM:挥发性内存(可读写)
CMOS芯片
概念:互补金属氧化物半导体存储器
CMOS作用:保存用户通过BIOS软件修改的硬件信息
主板通过CMOS电池为CMOS芯片持续供电
BIOS初始化:
第一种:扣CMOS电池、第二种:利用主板针脚进行短接(跳线短接)
如何进入bios、cmos:启动时按F2进入BIOS软件界面、BOOT(启动)设置系统启动顺序

UEFI:相当于代替bios,是统一的可扩展固件接口、提供控制计算机硬件的功能、优势:操作性强(支持图形界面和鼠标操作)、纠错性强(模块化配置、减少研发时间)、兼容性强(支持更多的运行平台,如安卓、PC端)、扩展性强(提供了更多的开发接口)
诞生:最早2000年由intel发布标准、2005年后由UEFI论坛管理和推广

虚拟机
概述 虚拟化:特指通过技术将一台物理计算机虚拟为多台逻辑计算机。在每个逻辑计算机中可以运行不同的操作系统,并且应用程序都可以在相对的空间内运行而互不影响,从而显著提高计算机工作效率。
虚拟机:使用虚拟化技术虚拟出来的逻辑计算机
作用:在一台物理计算机中运行多个操作系统、搭建测试环境、数据迁移更容易
虚拟机类型:分为传统架构、寄生架构、原生架构
传统架构:一台计算机只能运行一个操作系统,相同的应用程序在一个操作系统中通常只能运行一个提供虚拟化功能的软件或程序,称之为虚拟化监视器(VMM)
在虚拟机环境中,操作系统可分为宿主操作系统(hostos)和客户操作系统(guestos)
寄生架构:VMM作为应用程序安装在hostos上,VMM可以安装多个guestos。
Hostos和guestos相对独立
注意:当hostos出现问题,VMM中操作系统也将无法使用

原生架构:VMM软件作为应用程序,直接安装在计算机硬件上、VMM自身就是一个操作系统、VMM中可以同时运行多个操作系统
注意:VMM体积极小通常(几十MB),其上运行的任何guestos出现问题都不会影响其他guestos,因此稳定性更好,更适合企业用户,个人计算机的硬件通常不支持原生架构
32位操作系统不支持虚拟化
虚拟机软件:分为寄生架构软件:VMware workstation 、virtual pc、 virtual sever
原生架构软件:VMwarevsphere 微软HFPER-V Xenserver Xendesktop
VMware workstation(VMM)操作
新建与打开
新建:创建一个新的guestos系统
打开:启动一个已经安装的guestos
启动或停止
关闭:切断电源。挂起:相当于休眠,不占用任何cpu和内存资源,可快速修复系统状态
重启:关闭在启动
Gusetos和hostos切换操作
Ctrl+alt切换、ctrl+alt+enter将鼠标切换至guestos并全屏显示、ctrl+alt+insert将guestos中任务管理器打开。
管理虚拟机迁移:必须关闭或挂起虚拟机,移动虚拟机文件至目标主机
VMwaretools(管理工具)
概念:为虚拟机提供工具包,包含增强硬件性能的驱动程序,支持guestos使用hostos的打印机和文件夹等功能。共享文件夹:在guestos中win+e键在地址栏中输入\vmware-host\sharedFolders,也可直接拖拽,但稳定性不好。
虚拟机快照与克隆
快照:将系统快速恢复到稳定状态
克隆:快速创建与源主机配置相同的虚拟机
开机快照:如果想得到一个完成的上来就能用的系统用开机快照,但需要更大的磁盘空间,快速恢复系统状态
关机快照:需要较少的磁盘空间,方便做后续操作,但启动速度慢(需要手动开机)
克隆:链接克隆和完整克隆
链接克隆:是和源虚拟机使用的相同的虚拟磁盘,不需要额外创建,因此速度较快。
完整克隆:为新虚拟机单独创建虚拟磁盘,因此安装速度慢。
性能:链接克隆通过源虚拟器快照创建而成,性能会有所下降。完全克隆是完全独立的虚拟机,性能与源虚拟机相同。
链接克隆和完整克隆的关联性:链接克隆依赖源主机,源系统损坏,链接克隆就不能用了。完全克隆不依赖源主机,源主机损坏,完全克隆互不影响

操作系统的概述
1定义:操作系统,简称OS
操作系统作用:管理计算机硬件和软件资源的计算机程序,使计算机为用户提供交互式操作界面。
2种类:windows是微软公司产品,创始人是比尔盖茨。
概述Windows版本发展史
Windows1.0,1985年发布,是微软第一代试水作品,提出窗口概念替换命令提示符
Windows2.0,1987年发布,提供多窗口的支持,补充了更多的应用程序丰富其功能包扣work、excel。
Windows3.0,1990年发布,提供文件管理系统和更加丰富的图形功能,第一个成功的图形用户界面的版本。
Windows95,1995年发布,经典版本,提供多媒体功能,启用开始菜单和IE等功能。
Windows98,1998年发布,进一步提高稳定性。
Windows2000,2000年发布,是最早的的windows企业版,首次提供自动升级等功能。
Windowsxp,2001年发布,全面改进的windows版本,如文件管理、性能、稳定性等,是长寿的windows版本。
Windowsvista2007,2007年发布,采用全新图形界面,但发布比较突然,兼容性差,使用用户较少。
Windows7,2009年发布,为了解决vista的问题,针对兼容性、性能、应用程序、用户界面等进一步优化。
Windows8,2012年发布
Windows10,2015年发布,是最后一代windows版本,具有兼容性出色、游戏性出色、新功能和安全性。
微软从2014年停止对Windowsxp的支持,2015年-2020年停止对windows7的支持,2017停止对windows phone支持,2018-2023停止对windows8的支持。
其不在更新原因:用户习惯使用老系统,资源、维护成本高。
微软在Windows10后不在出新版操作系统,windows成为一项持续服务,而不是软件。

Windows10安装条件
最低配置 推荐配置
处理器 1GHz 处理器 2GHz
内存 32位>1G 内存 32位>2G
64位>2G 64位>4G
硬盘 32位>16g 硬盘 32位>20G
64位>20g 64位>32G

Windows10都有哪些版本
名称(英文) 特点 适应人群
Windows10家庭版(home) 功能最小,提供基础的应用商店,浏览器等支持,绝大多数的pc厂家预安装的版本 电脑轻度使用者
Windows10专业版(profession) 在家庭版本基础上,增强了安全类和办公类的功能 电脑重度使用者,如企业人员,技术人员
Windows10企业版(enterprise) 在专业版基础上,增强了安全性 大中型企业
Windows10移动版(mobile) 面向支持触控屏的移动设备,支持一般通用的应用 小型移动设备使用者
Window10 教育版(education) 基于企业版开发,为了增加安全性,批量提供给教育机构 学校、学术机构
Windows10移动企业版(mobile enterprise) 增强新的安全功能,允许批量部署 需要大量移动设备的企业用户
Windows10物联网核心版(IOT CORE) 面向小型低价设备 小型物联网

windows安装
F2进入bios修改启动顺序,或F9显示可用的启动类型(如光盘、u盘、硬盘、网络)
通过指定的启动类型,找出并加载启动文件,启动安装界面
Windows10新特性
A虚拟桌面B小娜C Edge
A、虚拟桌面作用:减少桌面图标,对不同的任务分组
快捷键:进入win+tab、创建ctrl+win+d、切换win+ctrl+方向键、移动:进入后鼠标拖拽或右键移动到xx桌面、关闭:win+ctrl+f4
B、小娜:微软发布的第一款个人智能助理,能够记录用户行为和习惯
C、Edge浏览器
兼容性:不用考虑和IE浏览器的兼容、速度:可以达到IE11的2倍以上、扩展:支持更多的扩展程序、个性化:提高用户体验、更适合阅读:有阅读模式
微软的搜索引擎叫bing(必应)
Windows10桌面环境、桌面设置、云应用与云存储、窗口布局
桌面环境:由桌面区域和任务栏区域组成。
桌面设置:分辨率越高,画面越细腻,个性化功能。
设置与控制面板:设置:易于操作,更适合操作。控制面板:更全面,更适合PC端使用。
云应用与云存储:one drive
窗口布局:标准窗口外布局和内部局

Windows10基本操作
1、文件控制(创建、删除、复制、移动、粘贴、输入法)
2、全角:一个字符占用两个标准位置状态。如:。
3、半角:一个字符占用一个标准位置状态。如:.

二、文件查看
查看文件内容:鼠标左键双击右键打开
查看文件属性:鼠标右键→属性
文件的名称、类型、大小、时间戳、权限等
只读、隐藏、压缩、加密等
查看隐藏文件:资源管理器→查看→显示隐藏文件
三、文件类型
文件类型
类型 名称格式后缀 解释 重要程度
文档文件 txt记事本文件 无格式文本文件 *
doc/docx Word文件,通过office中word打开 *
wps wps文件,通过wps软件打开 *
xlsx Excel表格 *
ppt Ppt文件 *
htm、html 超文本文件,通过浏览器打开 *
pdf 可移植文档格式文件,通过专用文件打开
psd Ps文件,ps软件打开
压缩文件 rar/zip 压缩文件,通过winrar或winzip打开 *
Gz,z Unix系统压缩文件 *
图形文件 bmp 位图文件
gif 图形交换格式文件 *
Jpg、jpeg 联合图像专家组文件 *
Png 可移植网络图形文件 *
Tif、tiff 标记图像格式文件
声音文件 Wav Wave音频文件
Aif、aifc、aiff 音频交换格式文件
Mp3 Mpeglayer-3文件
Wma Windowsmedia音频文件
视频文件 Avi 音频视频交错电影或声音文件
Mpg Mpeg系统声音文件
系统文件 Int、sys、dll 系统文件,不能删除
可执行文件 Exe 可执行文件 *
映像文件 Iso ISO-9660格式文件 *
备份文件 Bak
临时文件 Tmp 系统临时文件,会自动删除
批量处理文件 Bat 批量处理 *

文件路径
本地路径:资源管理器→主页→复制路径或右键文件→属性→位置。
网络路径(unc):通过命令规则,用于访问网络中的资源,格式位\ip地址或\计算机名。如\vmware-host\sharedfolders。
Windows10文件使用技巧
图片批量编号:选中多个文件进行重命名,会自动进行编号。
文件自动记录时间,在文件编辑中输入 .LOG
上帝模式进入方式:.{ED7BA470-8E54-465E-825C-99712043E01C}

Windows快捷键
Win+r运行
Win+e资源管理器
Win+l锁屏
Win+d显示桌面
Win+p投影
Win+1、2、3打开任务栏中固定的应用程序
Win++/-放大或缩小
Win+shift+s截图
Ctrl+c复制
Ctrl+x剪切
Ctrl+v粘贴
Ctrl+z撤销
Alt+tab在打开的窗口之间快速切换

三DOS与BAT
DOS命令
Cmd:执行dos命令的软件程序
Cd进入
cd… 退出返回上一级
dir查看文件夹
mkdir创建文件夹
echo创建文件
type查看文件内容
cls清屏
help查看帮助命令
BAT批量处理文件,由多个命令组成的可执行文件,其中每一行记录都是一条DOS命令

Windows server2016讲解
概述
操作系统类型,按应用领域不同,操作系统可分为:桌面操作系统、服务器操作系统、嵌入式操作系统。
桌面操作系统:主要用于个人计算机,从硬件架构可以区分为pc机与mac(苹果)机。
Pc兼容机:由不同厂家生产的具有相同架构的加算机(IBM提出)
cpu架构分为
X86架构(intel、AMD)
ARM架构(三星、高通、华为,手机端)
MIPS架构(物联网)
MAC架构(苹果电脑)
服务器操作系统:可以区分为unix、linux、windows
Unix版本:IBM-AIX、HP-UX、FreeBSD等
Linux版本:redhat、centos、debain
Windows版本:windows server2003、2008、2012、2016、2019等
嵌入式操作系统:应用在嵌入式系统的操作系统
如:android、ios、symbian、windowphone、blackerry os 等
Windows server 2016
Windows server 系列是windows面向服务器版本
Windows server 2016版本
可分为:Windows server 2016 datacenter(数据中心版)、 Windows server 2016 standard (标准版)、Windows server 2016 essentials (简化版)
Windows server 2016 datacenter(数据中心版):提供无限虚拟化权限,以及构建数据中心所需要的功能。
Windows server 2016 standard (标准版):提供企业级应用,具有有限的虚拟化权限。
Windows server 2016 essentials (简化版):专为小型企业设计的版本,是连接云服务的首选

Windows server 2016安装条件
硬件 最低 推荐
Cpu 1.4GHz >=2GHz
内存 512MB
(非桌面版,桌面版最低2GB) >=2GB
硬盘 32GB >=40GB

Windows server2016安装选项分为:带桌面体验的服务器、服务器核心、Nanoserver。
带桌面体验的服务器:属于标准安装提供桌面化的图形功能,可以通过服务器管理器安装服务器角色(软件、程序)及功能。
服务器核心:默认没有图形界面,减少占用的磁盘空间以及潜在的攻击面,降低维护成本。
Nano server:提供远程管理的操作系统,针对云和数据中心进行优化,类似简化的服务器核心版,磁盘占用空间更小,速度更快,所需更新量更小,仅支持64位。相当于远程操作

Administrator是windows的管理用户
Windows server核心版基础命令:Notepad打开记事本、regedit打开注册表、shutdown关机指令。
配置网络参数和dns地址命令
手动配置网络参数netsh interface ip set address 网卡名称 static 192.168.1.XX、或子网掩码
自动配置网络参数netsh interface ip set address 网卡名称 dhcp
查看网络参数 ipconfig、 查看详细网络参数 ipconfig/all
没有DNS,无法解析域名(www.jd.com)
手动配置DNS服务器地址:netsh interface ip set dnsserver 网卡名称 static DNS地址
自动配置DNS服务器地址:netsh interface ip set dnsserver 网卡名称 dhcp
测试网络联通性 ping对方ip地址。

对计算机网络资源进行分组的方式分为工作组和域
Windows工作组
(方便网络计算机之前共享资源,工作组相当于一个容器,不提供管理,是可以自由加入,自由退出的,)
定义:将网络中的计算机逻辑上组织到一起,进行分散式管理,工作组是一种自由的网络模式,也称之为对等网。
设置方法:系统>计算机名、域和工作组设置>更改设置,更改工作组后,需要重启计算机生效。
默认情况下计算机工作组是workgroup的工作组,如果指定加入的工作组,若不存在,则系统会自动创建并加入(创建后,该组只有一个成员自己)。
工作组的访问方法:打开网络中可以查看同工作组的成员列表
如果网络面板中没有工作组成员,若想访问同工作组中其他计算机的资源,需要启用网络发现功能,操作方法:控制面板>网络和共享>更改高级共享>启用网络发现
退出工作组的方法:更改工作组名称(可以改为默认工作组名称workground),实现退出当前工作组。
计算机名:若想加入工作组,必须要提供计算机名和工作组名称,计算机名也叫(net bios网络基本输入输出系统),netbios提供命名服务(为计算机进行名称登记和解析)。
服务器核心版用命令修改计算机名称:netdom renamecomputer localhost /newname:名字
注意:计算机名在网络中必须唯一,即使位于不同的工作组,也不能同名,尽量避免使用数字开头。
打开vmware虚拟机如果显示没有所有权或授权,打开虚拟机安装目录删除置顶多余文件夹
windows域
定义:将网络中的计算机逻辑上组织到一起进行集中式管理。域是一种严格的网络模式,称之为c/s网(客户端/服务器网络模式)
域控制器简称(DC):对域内的所有资源进行集中控制,并且负责每个主机的身份验证,由于最早是微软设计,因此更多应用在windows系列环境中。
windows用户
定义:用户是计算机使用者在计算机系统中的身份映射,不同的身份拥有不同的权限。
每一个用户信息包含一个用户名和密码,用户拥有唯一的SID。
Windows10创建用户:计算机>管理>本地用户和组>用户
Windows server创建用户:windows系统工具>计算机管理>本地用户和组>用户
SID:安全标识符,是标识用户、组和计算机的唯一号码,用户被创建时,系统自动为其分配SID。
创建用户操作方法:windows计算机>管理>本地用户和组>用户
用户创建文字选项标识解释:用户下次登陆时必须更改密码、用户不能更改密码、密码永不过期、账户已禁用。账户已禁用解释:临时停用该用户,期间用户无法登录,直到解禁。注意删除用户在重建用户其权限不同,SID不同。 查看系统中所有用户sid方法WMIC useraccount get name,sid ,单个用户名sid查询方法:wmic useraccount where name=“USER” get sid。
创建用户名:用户名不区分大小写,登录名最长20个字符,用户名中不能使用特殊符号,用户名不能以.结尾。
密码:最长不超过127个字符,最少7个字符,不能是普通简单单词,必须是包含数字、字母和特殊符号。
删除用户:右键删除。重置密码:当密码被盗用或忘记密码或需要修改时,可强制重置密码。
用户权限分配:开始>windows管理工具>本地安全策略>本地策略>用户权限分配
内置用户:windows系统安装过程,自动创建的用户称之为内置用户。
内置用户类型分为:与计算机使用者关联的内置用户和与windows组件关联的内置用户。
与计算机使用者关联的内置用户
1、administrator:默认管理员用户,所有与使用者关联的用户中,其权限最高,此账户默认无法被删除。
2、guest:提供给没有用户名的访客使用,默认是禁止的,拥有有限的权限,此账户默认也无法删除,但允许改名。
3、default。:系统管理的默认账户,是微软为了防止开箱体验时出现问题而准备的默认用户。
与windows组件关联的内置用户
1、system(本地系统):为windows核心组件访问文件等资源时提供权限的,如:csrss.exe(客户端服务器运行时的进程),lsass.exe(本地安全机构进程)
2、local service(本地服务):为部分windows服务访问系统提供权限。
3、network service(网络服务):为部分windows网络服务访问系统提供权限。
windows组的定义:windows系列中安全管理的模式,类似于一个容器,提供本地计算机对象(用户、联系人、计算机、其他组等)的列表。
组的功能有:简化管理、委派权限、分发电子邮件
组的管理可以进行创建、删除、重命名、添加用户。
内置组:分为需要手动添加用户成员的内置组、动态包含用户成员的内置组
需要手动添加用户成员的内置组
1、administrators(管理员组):对计算机域拥有不受限制的完全访问用户,默认管理员用户administrator即属于该组。
2、guests(来宾组):拥有有限权限的系统访问用户,默认来宾用户guest,即属于改组。
3、power users:低版本的windows自带的组,因为有bug,即将被淘汰。
4、users(标准用户组):新用户的默认组,拥有基本系统访问权限。如:运行应用程序,使用打印机,锁定计算机等。
动态包含用户成员的内置组
1、TERACTIVE:动态包含了所有在本地登录用户
2、Authenticated users:动态包含了所有通过验证的用户,但不包括来宾用户。
3、Every one:默认包含所有用户(也包含来宾用户),设置权限时经常会使用该用户。

Windows的文件系统
文件系统的概述:外部存储设备上组织文件的方法,是操作系统中负责管理和存储文件信息的软件机构。
windows文件系统的常见分类有:FAT、NTFS、ReFS等。
FAT(文件分配表,早期使用,不能存储较大文件)。
NTFS(新技术文件系统)
ReFS(复原文件系统)
NTFS是ibm在1981年推出PC兼容
WindowsNT:是微软1993年为高端个人用户和服务器设计的操作系统。
WindwosNT内核:用户界面是操作系统的外在表象,内核才是操作系统的内在核心也是windows操作系统的内核(属于微软商业机密)。
NTFS文件系统:是windowsNT系列操作系统中最常见的文件系统。
NTFS六类权限细致划分:完全控制、修改、读取和执行、读取、写入、特别的权限
NTFS的主要特性有:访问控制列表(ACL)、加密文件系统(EFS)、压缩和磁盘配额
ACL:为用户或组进行授权,控制其访问文件或文件夹时的访问能力,ACL是权限技术的核心。
EFS:可以对NTFS分区上的文件和文件夹进行实时透明加密。设置方法:文件属性>常规>高级。
压缩:压缩内容以便节省磁盘空间。注意:压缩和加密只能执行其中之一。
磁盘配额:为不同用户分配不同的磁盘可用空间。
ReFS文件系统的主要特性:写时复制技术:通过拖延时间,从而提高存储空间及效率的方法,支持更大的卷、文件和文件夹,更好的稳定性和可用性。
NTFS权限中设置文件系统:包含文件权限和文件夹权限
权限的基本原则:累加原则、拒绝优先原则、权限最小化、继承性原则。
累加权限:当用户同时隶属于多个组时,权限会累加生效。解决了权限灵活性
拒绝优先原则:当权限出现冲突时,拒绝权限优先。解决权限冲突
权限最小化:坚持为用户分配最小权限,提高系统安全性。保障资源安全
权限继承原则:自动继承上级目录的权限。解决权限的自动化分配
特殊权限(针对ACL生效)包括:读取权限、更改权限、取得所有权。为用户更加细致的权限划分。
读取权限:是否允许该用户或组,读取此文件或文件夹的访问控制列表。
更改权限:是否允许该用户或组,更改此文件或文件夹的访问控制列表。
取得所有权:是否允许该用户或组,强行获取文件或文件夹的所有权,成为其所有者。

windows本地安全策略
概述定义:提供影响本地计算机的安全设置
打开方法:开始>windows管理工具>本地安全策略。命令打开方式:secpol.msc
Windows事件查看器:用于记录计算机上发生的所有事件,可以用于浏览和管理事件日志。
打开方式:开始>windows管理工具>事件查看器
Gpedit.msc打开本地组策略管理器
Gpupdate更新本地安全策略
一、概述
1.定义:提供影响本地计算机的安全设置
2.打开方式:开始菜单windows管理工具本地安全策略
或 “运行”窗口输入 secpol.msc
二、本地安全策略
1.密码策略
密码必须符合复杂性要求。(系统默认启用)
注意:密码长度至少有六个字符
不能包含用户的帐户名,不能包含用户姓名中超过两个连续字符的部分。
密码必须包含以下四类字符中的三类字符:
英文大写字母(A 到 Z)
英文小写字母(a 到 z)
10 个基本数字(0 到 9)
非字母字符(例如 !、$、#、%)
尽量避免使用完整的单词或词组
避免使用曾用过的密码
最短密码长度(1-14个字符)(系统默认未启动,初始值为0)
最短使用期限(1-998天)(系统默认未启动,初始值为0)
最长使用期限(1-999天)(0表示永不过期,初始值为42)
强制密码历史(0-24)(系统默认未启动,初始值为0)
用可还原的加密来存储密码(系统默认未启动)
2.账户锁定策略
账户锁定时间(0-99999分钟)
账户锁定阈值(0-999次)
指:多次登陆失败后,锁定用户
重置账户锁定计数器(0-99999分钟)
指:多少分钟后,重置用户错误输入的次数
3.本地策略
a.审核策略:建立审核跟踪,,从而提高系统安全
将所有审核结果记录下来,从尔确定计算机中发生的安全事件
审核登录事件: 确定应用此策略的系统中发生的登陆和注销时间。
审核策略更改:确定是否对用户权限分配策略。审核策略或信任策略的更改进行审核尝试登录此计算机或从中注销的用户的每个实例进行审核。
审核对象访问:确定是否审核用户访问某个对象(如文件、文件夹、打印机等)
审核进程跟踪:确定操作系统是否审核与进程相关的事件,例如进程创建、进程终止等。
审核目录服务访问:确定是否对用户访问活动目录服务(域服务)进行审核。
审核特权使用:确定是否审核执行用户权限的用户的每个操作实例。
审核系统事件:确定是否审核用户重新启动。关闭计算机等对系统安全
审核账户登录事件:确定是否审核在这台计算机用于验证帐户时,用户登陆到其他计算机注销的每个操作实例
审核帐户管理:确定是否对计算机上的每个帐户管理事件进行审核,如创建、更改、删除组;设置或更改密码;重命名;禁用或启用用户
审核策略的安全选项:
成功:请求的操作执行成功会生成一个审核项。
失败:请求的操作执行失败会生成一个审核项。
b.事件查看器:
用于记录计算机上发生的所有事件,可以用于浏览和管理事件日志
打开方式:开始菜单->Windows管理工具->事件
日志类型:windows日志 应用程序和服务日志
c.用户权限分配
如:从网络访问此计算机
拒绝从网络访问此计算机
允许本地登录
拒绝本地登录
d.安全选项
是指:提供控制操作系统的相关选项
如:关机,允许系统在未登陆的情况下关机
账户,使用空密码的本地账户只允许控制台登录
交互式登录:试图登录的用户登陆时会弹出消息标题
三、本地组策略
1.定义:是指一组策略的集合,包含本地策略。管理员可以为用户和计算机定义并控制程序、网络资源及操作行为进行设置的系统工具。
2.类型:
a.计算机配置:对登陆该计算机的所有用户都生效
b.用户配置:对指定的用户生效
3.打开方法:“运行”窗口->gpedit.msc

Windows部署文件服务
概述
共享文件夹:将一台计算机中文件夹及其中的文件,通过网分享给其他计算机上的使用者。
设置方法:文件夹>属性>共享>高级共享
访问:提供有权限的访问用户,使用UNC路径进行访问,\对方ip地址、\对方计算机名
注意:组账户中users不具备有设置共享的权限,仅隶属于该组用户无法设置共享,即使是该文件夹的所有者也不行。
默认情况下客户端会使用当前登录的用户名/密码去访问服务器上的共享,若一致,则直接登录,若不一致,则需要提供用户名和密码。
网络架构分为:对等网架构、c/s架构、b/s架构
对等网架构:访问共享资源困难,更改用户名和密码繁琐,不适合规模较大的网络
c/s架构:(客户端/服务器网)资源集中存放在服务器端,用户直接访问服务器端的资源(提供server身份凭证)
b/s架构:也叫浏览器/服务器架构。
文件服务器
作用:通过c/s架构,提供资源的集中存储和访问
功能:集中化管理,内容控制、高可靠性、搜索服务
安装方法:服务器管理器>添加角色和功能>文件服务器>文件服务器资源管理器
角色功能:共享和存储管理、分布式文件系统(DFS)、分布式文件系统复制、分布式文件系统的命名空间、网络文件系统(NFS)
共享和存储管理:为共享文件夹和存储资源提供集成和简化的管理界面
分布式文件系统(DFS、distributed file system)提供统一的访问名称,云计算必须要掌握,后期讲,包括分布式文件系统的命名空间、分布式文件系统复制
分布式文件系统的命名空间:提供统一的访问名称,集中管理所有的共享资源
分布式文件系统复制:通过网络连接多个服务器上的文件夹,提供容错且灵活的文件共享
文件服务器资源管理器:为文件夹或卷设置配额,屏蔽文件。
网络文件系统:为混合平台提供文件共享
文件服务器资源管理器配置方法:windows系统工具>文件服务器资源管理器>配额管理>配额>配额模板
硬配额:不允许超出限制(强制)
软配额:允许用户超出限制,提供用户监视(警告功能)
文件屏蔽管理:分为主动屏蔽、被动屏蔽和限制单个文件,限制单个文件的写入格式为*.doc
服务器策略
来宾访问共享文件操作方式:
拒绝从网络访问:本地安全策略>用户权限分配>拒绝从网络访问这台计算机
本地账户的共享和安全模型:本地安全策略>安全选项>本地账户的共享和安全模型>仅来宾
手动解禁guest用户,为共享文件夹添加guest用户的访问权限。
使用空白密码的本地账户只允许进行控制台登录
操作方法:本地安全策略>安全选项>使用空白……
共享权限
定义:用户从网络访问服务器上的文件资源
特点:有效权限:共享权限和NTFS权限的交集(取最小权限),共享权限包括 :完全控制、更改、读取
隐藏共享文件夹
设置隐藏:共享名后添加“ ”符号即可默认隐藏: w i n d o w s 下的盘符默认被共享,如 D ”符号即可 默认隐藏:windows下的盘符默认被共享,如D 符号即可默认隐藏:windows下的盘符默认被共享,如D
访问隐藏:\服务器ip地址\共享文件夹名$

计算机网络基础
概述
计算机网络定义:计算机通信和计算机网络
计算机通信:侧重于计算机之间的数据处理和数据传输。
计算机网络:侧重于一定范围内的计算机资源和共享。
计算机网络连接方式:1、将两台或两台以上的计算机连接起来,实现资源共享,2、通过传输线路将计算机连接起来,3、需要通过网络设备进行转发,如交换机,路由器。
计算机网络概念:将分布在不同地点,具有独立功能的多台计算机,通过通信设备和通信线路连接起来,在功能完善的网络软件环境下运行,以实现资源共享为目标的系统,称之为计算机网络。
计算机网络功能:数据通信、资源共享、增加可靠性、提高系统处理能力。
计算机网络发展阶段
第一阶段:面向终端的计算机网络(主机—终端)
典型产品:SAGE半自动地面防空系统
缺点:数据采用集中式处理,所有的数据处理和通信处理都通过主机完成,传输速率受到限制,并且系统的可靠性和性能完全取决于主机本身,对主机依赖性较大。
第二阶段:多台计算机互联的计算机网络
典型产品:ARPAnet网络
第三阶段:面向标准化的计算机网络,由美国国际标准化组织(ISO)提出制定网络标准化协议。
典型产品:osi网络模型和TCP/IP协议
第四阶段:面向全球互联计算机网络,建设综合化、高速化、智能化和全球化的网络。
中国在1993年,开始国家信息基础设施行动计划(信息高速公路)
Internet的发展
1969年,internet的诞生
第一阶段:ARPA阶段
第二阶段:NSFnet的诞生(军用>民用)
第三阶段:浏览器的诞生(民用>商用)

网络分类
按覆盖范围可分为:个人区域网(PAN)、局域网(LAN)、城域网(MAN)、广域网(WAN)
按网络拓扑结构分为:星型拓扑、树型拓扑、总线型拓扑、环型拓扑、网型拓扑、混合型拓扑(星—环拓扑)或(星—总拓扑)等。
星型拓扑:通过核心网络设备连接的多个计算机
优点:易于实现,易于扩展,易于故障排查。
缺点:中心节点压力大,组网成本高
树型拓扑:采用分层结构组建网络
优点:易于扩展,易于故障排查
缺点:传输效率容易降低,通信范围易受到限制。
总线型拓扑:所有主机通过接口连接到主线(单根的传输线路)上。
优点:易于扩展,组网成本低,可靠性较好。
缺点:传输距离有限,传输效率容易降低
环型拓扑:多台主机通过首尾相连的通信线路连接
优点:组网成本低
缺点:节点故障会导致网络瘫痪,传输效率较低。
网型拓扑:节点与节点之间存在多条通信线路
优点:较高的可靠性和通信效率
缺点:组网成本高,结构复杂,维护困难
混合型拓扑:比如“星-环拓扑”、”星-总拓扑” 。
按照传输介质网络可分为:有线网,无线网
按照工作模式网络可分为:对等网,服务器网
按照传输技术网络可分为:广播式,点对点式
协议
计算机网络中,为了保证通信双方能够正确的收发消息,事先制定的规则,就是网络协议。
协议三要素:语法、语义、同步
语法:定义通信双方发送的数据格式
语义:定义通信双方发送的数据所代表的含义
同步:定义通信双方的通信过程
网络标准
ISO国际标准化组织
ANSI美国国家标准化局
ITU-T国际电信联盟-电信标准部
IEEE电气和电子工程师学会
IANA CNNIC ICANN]
以太网也称局域网及标准
IEEE802.3制定了以太网的技术标准
IEEE 802.3u标准,百兆快速以太网标准
IEEE 802.3z标准,光纤介质实现千兆以太网标准规范
IEEE 802.3ab标准,双绞线实现千兆以太网标准规范
数制
定义:计数制用一组固定的符号和统一的规则表示数值的方法,如:十进制、二进制。
基数:数制中能够使用的数学符号的个数,如十进制的有十个数字符号,即十进制基数为10
数码:数制中,表示基本数值大小的数字符号,如十进制的数码为0123456789
数位:数学符号在一个数中所处位置,如个位、十位、百位
位权:数制中某一位上的1所代表的数值大小
数制的表示
进制 基数 数码 特点 单位
十进制 10 0123456789 逢十进一 D
二进制 2 0、1 逢二进一 B
八进制 8 01234567 逢八进一 O
十六进制 16 0123456789ABCDEF 逢十六进一 H
进制计算方法
任何数的0次方等于1,任何数的一次方等于其本身
公式为:数码*基数n-1次方(n代表位置,从右往左数第几位)
二进制转换为八进制、十进制、十六进制乘法
十进制转换为二进制、八进制、十六进制除法
十六进制、八进制转换十进制乘法
二进制 1 1 1 1 1 1 1 1
十进制 128 64 32 16 8 4 2 1

网络体系架构基础
分层思想概述:1、整个流程更加清晰,复杂问题简单化。2、更容易针对性的解决问题。
分层模型:1、下层是服务的提供者,上层是被服务的对象。2、上层通过接口接受下层提供的服务。3、上层直接接受相邻下层的服务,还间接接受其它下层的服务。4、服务是垂直的概念,协议是水平的概念。
分层原则:1、每个层次的功能应该明确,且相互独立。2、层与层之间的接口要清晰。3、分层的数量要适中。
网络体系架构(网络分层)
1974年,IBM提出SNA(系统网络体系架构)
1984年,ISO提出OSI/RM(开放式系统互联通信参考模型,简称OSI模型
OSI网络模型(从下到上顺序):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
物理层:完成相邻节点之间的比特流的传输(主要关注物理特性)
数据链路层:建立逻辑连接,进行硬件地址寻址,差错校验等功能(硬件地址也叫MAC地址)
网络层:进行逻辑地址寻址,突显不同网络之间路径选择(逻辑地址也叫IP地址)
传输层:实现网络中不同主机上用户进程之间的数据通信
会话层:允许不同机器上的用户之间建立会话关系
表示层:数据的表示,如压缩、加密等(被处理的数据如何还原表示到对方电脑)
应用层:不同计算机上,不同任务(应用程序)之间的通信
OSI失败的原因:缺乏商业驱动力、设计相对复杂,运行效率较低、设计周期过长、某些分层功能重复
OSI将网络分析过于透彻,大多数用于学术研究,理论学习,工作中应用较少,因为过于繁琐。
TCP/IP五层架构(从下到上顺序)(学习使用)
物理层、数据链路层、网络层、传输层、应用层
TCP/IP四层架构(从下到上顺序)(市场应用最多)
网络接口层、网络层、传输层、应用层
网络协议(从上到下)
应用层:HTTP(超文本传输协议)(网页传输过程中使用的就是HTTP协议www.)
FTP(文件传输协议)(只要从网上下载或上传文件都需要FTP协议)
TFTP(简单文件传输协议)(适用于传输小文件)
SMTP(简单邮件传输协议)(互联网上发送电子邮件E-mail)
SNMP(简单网络管理协议)(远程收集目标系统状态)
DNS(域名系统)(解析)
传输层:TCP(传输控制协议)可靠协议,数据丢失自动发送,传输速度慢,下载软件都用这个
UDP(用户数据报协议)传输快,数据传输丢失不管,即时通信软件都用UDP如QQ、微信
网络层:ICMP(互联网控制报文协议)(测试网络状态,ping是icmp典型应用)
IGMP(互联网组管理协议)(网络设备应用)
IP协议(互联网协议)有ip协议才能配置ip地址
ARP(地址解析协议)逻辑地址转化物理地址
RARP(反向地址解析协议)物理地址转化逻辑地址
网络接口层:RJ-45(水晶头型号)
数据的封装与解封装过程
1、协议数据单元
对等网络之间传递的数据单位,称之为协议数据数据单元,简称PDU
应用层协议数据单元:数据报文
传输层协议数据单元:数据段(TCP或UDP头部信息)
网络层协议数据单元:数据包(IP头部信息)
数据链路层协议数据单元:数据帧(MAC头部)
物理层协议数据单元:比特流
2、各层级对应设备
应用层:计算机(应用程序)
传输层:防火墙
网络层:路由器
数据链路层:交换机
物理层:网卡

网络传输介质
信息概念:泛指人类社会传播的一切内容
数据:数字化的信息(0、1)
信号:数据在传输过程中的电磁波的表现形式
数据是信息的载体,信号是数据的载体。
信号类型:分为模拟信号、数字信号
模拟信号:随着时间推进连续变化的信号
数字信号:不随着时间推进连续变化的信号
信号失真分为衰减和噪声
衰减:信号在传输过程中,不断减弱的现象称之为衰减
衰减应对方法:模拟信号通过放大器,数字信号通过中继器将信号加强
噪声:即干扰,严重时会导致信号无法传输
噪声应对方法:屏蔽
模拟信号和数字信号特点:
数字信号优点:抗干扰能力强,远距离传输依然能够保证质量
数字信号缺点:需要占用较大的信道
数字信号需要20-64KHZ,模拟信号需要4KHZ
数字信号应用于:电视、手机、机顶盒等
模拟信号应用于:老式电视、电台等
现在以数字信号为主要
信号传输介质分为:有形传输介质、无形传输介质
有形传输介质:电磁波沿着看得见的固体的铜导线或光纤向前传播
双绞线类型:五类cat5、超五类cat5e、六类cat6、超六类cat6e
双绞线分为:屏蔽双绞线与非屏蔽双绞线
屏蔽双绞线:用于电磁环境复杂工业环境,提供更好的抗干扰能力
非屏蔽:用于电磁干扰较弱的环境,比如家用,办公场所
同轴电缆:传输距离:粗筒轴500m,细同轴185m
双绞线:传输距离100m
光纤:中芯是石英玻璃拉成的细丝,因此容易折断
特点:传输带宽高,距离远,抗干扰能力强
类型:单模光纤、多模光纤
单模光纤:成本高,端接较难,需要激光光源,损耗小,高效
多模光纤:成本低、端接容易,激光或发光二极管,损耗大,低效
无形传输介质:电磁波沿着看不见的大气层或外层空间向前传播
无线电波:全向传播,如wifi、蓝牙设备
微波:点对点的定向设备
地面微波:传播距离在30-50km利用无线电波在对流层范围内进行传输,如手机
卫星电话利用卫星传播信号,因此通常配置有天线(需要较大的发射功率和较大耗电量)
卫星微波:利用通信卫星实现数据传输
红外线:利用红外线进行点对点传输,具有很强的方向性(直线)
双绞线连接规范
RJ45接口水晶头,信息模块
RJ45水晶头线序:568b、568a
568b:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
568a:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
网线类型:直连线、交叉线、全返线
直连线:两端线序相同,都是568a或568b
交叉线:两端线序不同,一端568a另一端568b
全返线:两端线序完全相反,一段568b另一端反向568b或一端568a另一端反向568a
使用场景
直连线:一般用于连接两个不同性质的接口,如:pc和交换机、路由器和交换机
交叉线:一般用于连接两个相同性质接口,如:交换机和交换机、路由器和路由器、主机和主机、主机和路由器(主机和路由器属于相同性质接口)
全反线:不用于以太网连接,主要用于连接主机和网络设备(路由器、交换机)的console口,也称console线。
交换机基础知识
概述
一、以太网发展
第一阶段:1973-1982以太网的诞生与DIX联盟,1973年X-wire,1979年DIX联盟
第二阶段:1982-1990,10Mb/s发展成熟,1983以太网快速发展年,1984DEC推出网桥(交换机前身)
第三阶段:1991-1997快速以太网,1991卡尔帕纳(lan交换机),1992高速以太网100Mb/s
第四阶段:1997-至今:IEEE2006(10Gb/s以太网),IEEE2010(100Gb/s以太网),IEEE2021(802.3ct实现400Gb/s以太网标准)

MAC地址
数据链路层中用来标识设备身份的唯一地址,即MAC地址或物理地址
MAC地址由48位二进制组成,每8位为一组,显示为12个十六进制,如:00-AC-22-33-22-24,前24位为厂商标识,后24位为分配唯一编码。
通信方式分为广播、组播、单播
广播:一台设备同时为所有设备发送数据,广播的MAC地址为48个1,十六进制FF-FF-FF-FF-FF-FF
组播:一台设备同时为网络中某几台设备发送数据,组播的MAC地址第8位为1(逻辑地址,不常用)
单播:一台设备与网络中另一台设备单独发送数据,单播的MAC地址第8位为0(物理地址)
数据链路层中数据帧格式
前导码:共8个字节,前7个字节值为0AA,最后字节为0AB(分界符),实现发送端和接收端数据同步
目的地址(DA):共6字节,标识目标设备的MAC地址,可以是广播、组播、单播
源地址(SA):共6字节,标识发送端设备的MAC地址,一定是单播地址
类型:共2字节,标识上层协议的类型
数据域:共46-1500字节,封装了上层协议的数据信息
帧校验序列:共4字节,根据特定算法(CRC)检验数据的完整性
交换机
常见的厂商:cisco(思科)、华为、H3C、TP-LINK、神州数码
型号:cisco2960、3560、4500、6500
交换机原理:
初始状态、MAC地址学习、广播地址帧、接收方回应、单播通信。注(老化时间300秒)
接口工作模式
单工:两个数据站之间只能沿单一方向传输数据,如(喇叭)
半双工:两个数据站之间可以双向数据传输,但不能同时进行,如(对讲机)
全双工:两个数据站之间可双向且同时进行数据传输,如(电话)
交换网络中,一般默认采用全双工模式(自适应)接口传输速率
即通信速率,设定两个设备之间数据交换的速度频率
协商速率由通信双方较低的决定
交换机配置
交换机管理模式
用户模式switch>(默认模式):查看统计信息
特权模式switch#:查看并修改设备信息
全局模式switch(config)#:针对整个交换机修改配置参数
接口模式switch(config-if)#:针对特定交换机接口进行修改配置参数
交换机中命令
Enable用户模式>特权模式,简便输入方法:en
Configterminal特权模式>全局模式,简便输入方法:conf t
InterfacefastethernetX/Y全局模式>接口模式,简便输入方法:int f0/1
Fastethernet百兆以太网,X代表模块,Y代表交换机接口
Exit返回上一级
End从全局或接口模式下,返回特权模式
Disable从特权模式返回用户模式
特权模式输入:show mac-address-table dynamic 查看计算机MAC地址
接口模式输入:duplex (full/half/auto默认配置)设置双工、半双工、单工
特权模式输入:show interface fastethernetX/Y,查看接口状态
接口模式输入:speed(10/100/1000)设置端口速率
?可以查看命令帮助,tab可以补全命令
IP地址概述与应用
IP协议(互联网协议)
IP地址(IP协议提供的统一的地址格式,是一种逻辑地址)
IP发展分为ipv4、ipv6
Ipv4由32位二进制组成,主流发展趋势
Ipv6由128位二进制组成,未来发展趋势
Ipv6优点:更大的地址空间、更快的数据转发速度、更小的延迟、更多的功能、更简易的配置、更高的安全性。
IP地址的组成分为网络部分和主机部分
网络部分:当前主机所处在网络名称(网段)
主机部分:代表当前某台具体的主机
IP地址分类分为A、B、C、D、E类
A类(0开头):1.0.0.0-127.255.255.255,通常1.0.0.0-126.255.255.255可以实现一亿六千万主机使用,127作为保留地址,具有特殊性,无法再公网中使用。网络位是IP地址的前8个Bit 剩下的24位就是主机位,默认子网掩码是255.0.0.0
B类(10开头):128.0.0.0-191.255.255.255可以实现6万多主机使用,网络位是IP地址的前16个Bit 剩下的16位就是主机位,默认子网掩码是255.255.0.0
C类(110开头):192.0.0.0-223.255.255.255可以实现254个主机使用,网络位是IP地址的前24个Bit 剩下的8位就是主机位,默认子网掩码是255.255.255.0
D类:224.0.0.0-239.255.255.255应用于组播通信,不进行下发
E类:240.0.0.0-255.255.255.255应用于保留地址,不进行下发
私有地址
A类:10.0.0.0-10.255.255.255
B类:172.16.0.0-172.31.255.255
C类:192.168.0.0-192.168.255.255
公网地址可以访问互联网
私有地址仅可在局域网中使用
保留地址
127.0.0.1回环地址(用于测试本地网卡是否正常)
Ping127.0.0.1相当于ping本地ip地址,效果相同,测试网络联通性使用
169.254.0.0windows内部保留地址,获取地址失败时,自动配置该地址
IP地址中,如192.168.1.0/24,其中/24表示子网掩码。
子网掩码
由32个二进制位组成用于区分ip地址中网络位和主机位
对应ip地址的网络部分用1表示,IP地址二进制中全1的为网络位
对应ip地址的主机部分用0表示,IP地址二进制中全0的为主机位
IP地址和子网掩码作逻辑与运算得到的网络地址
0和任何数相与都等于0
1和任何数相与都等于任何数本身
配置ip地址
Windows配置网络参数(翻看以前笔记)
交换机和路由器的初始化命令
空闲一段时间后,重回初始界面的问题
switch(config)#line con 0
switch(config-if)#exec-timeout 0 0
控制台消息打断输入的处理
switch(config)#line con 0
switch(config-if)#logging synchronous
禁用DNS查询
switch(config)#no ip domain-lookup
也可以使用文本编辑成命令组进行设置(命令缩写)
en
conf t
no ip domain-lo
line con 0
logg syn
exec-timeout 0 0
exit
路由器配置IP地址
Router(config)#interface fastethernet 0/1
Router(config-if)#ip address ip-address(IP地址)(子网掩码)
Router(config-if)#no shutdown
交换机配置IP地址
Switch(config)#interface vlan 1
Switch(config-if)#ip address ip-address(IP地址)(子网掩码)
Switch(config-if)#no shutdown
网络层协议与应用
概述
数据包格式:20字节,每行32bit
第一层
版本:指定当前的IP协议版本号,4bit
首部长度:指定当前数据包头的长度,4bit(长度可变)
优先级与服务类型:指定数据的优先级别与服务类型实现QOS(服务质量)8bit
总长度:指定整个IP数据包的长度,16bit
第二层
标识符:指定IP数据包的每个分片的标识保证分片不会被错误重组
标志:3个bit位,第一位保留,第二位DF,1表示不允许分片,0表示允许分片,第三位是MF,1表示还有剩余分片,0表示没有剩余分片。
段偏移量:相对于原始数据开始处的偏移,13bit
第三层
TTL(生命周期):表示IP数据包的生存时间,每经过一个路由器则减一,8bit
协议号:协议字段声明数据包中封装的是什么协议。
首部校验和:用于检测数据是否被修改过,16bit
第四层
源地址:发送端IP地址32bit
第五层
目标地址:接收端IP地址32bit
第六层
可选项:支持更多的扩展功能,如排错、测量和安全等
广播和广播域
广播:将广播地址作为目的地址的数据帧
广播域:网络中能接收到同一个广播的所有节点的集合(一个交换机就是一个广播域,有路由就不在一个广播域)
MAC广播地址:FF-FF-FF-FF-FF-FF
IP广播地址:IP地址网段的广播地址,如192.168.1.255、172.1.255.255、10.255.255.255
注意:交换机转发广播,而路由器会隔离广播
ARP地址解析协议
作用:将一个已知的IP地址解析成MAC地址,(以便在交换机上通过MAC地址进行通信)。
ARP协议的工作原理
源主机发送广播信息(ARP的请求信息)所有同网络主机都会收到该信息(泛洪式),目标主机通过单播应答(ARP回复信息)其他主机丢弃,源主机将收到的信息存放至缓存中(ARP表)
Windows系统中打开命令提示符
ARP -A查看ARP缓存表
ARP -D清除ARP缓存表
ARP -S绑定IP与MAC对应关系
路由器中的ARP协议
Show arp查看ARP缓存表
Clear arp-cache清空ARP缓存表
Arp ip地址 mac地址 arpa 绑定ip与mac对应关系
ICMP协议
ICMP是一个错误侦测与回馈机制,是通过IP数据包封装的,用来发送错误和控制信息,是网络层协议。(用来检查设备之间的连接及运行情况)
主要工具:ping -a解析目标主机名
Ping -t持续ping
Ping -l指定发送的数据包大小
Ctrl+c终止
返回信息包括正常应答、不正常应答、未知的主机名、请求超时
正常应答:目标主机回复了32字节的响应数据,回复四次。
不正常应答:无法访问目标主机,通常是无法找到去往目标主机的路径,可能是因为没有正确配置网关等参数。
未知的主机名:DNS可能无法正常工作
请求超时:规定时间内,没有收到返回的应答信息(可能是防火墙原因)

静态路由
概述
路由:从源主机到目标主机的数据转发过程,路由器根据路由表进行数据转发
路由表功能
路由表是路由器中维护的路由条目的集合,路由器根据路由表进行路径选择
路由表的形成分为直连网段和非直连网段
直连网段:自动学习,接口必须启动“up”(一根网线直连)。
非直连网段:需要手动配置参数
配置路由
静态路由:由管理员在路由器中手动配置的固定路由记录
静态特点:静态路由是单向的,若要实现双向通信,则需要在通信双方配置双向的静态路由,静态路由允许对路由的行为进行精确控制,缺乏灵活性,不能随网络拓扑的变化而改变,一旦出现链路故障,需管理员重新配置该静态路由
默认路由
是特殊的静态路由
末梢网络概念:只有唯一的路径能够到达其他网络
默认路由特点:默认路由适用于末梢网络,大大简化路由器的配置,降低管理员工作负担,提高网络性能。
路由器配置命令
静态路由在全局模式下执行:ip route ip地址 子网掩码 下一跳地址,进行配置。
查看路由状态:show ip route,directlyroute表示直连路由,用c表示
取消路由记录在全局模式下执行:no ip route ip地址 子网掩码 下一跳地址,进行配置
路由器故障排查
分为排查物理故障和逻辑故障
排除物理故障在用户模式下执行:show interface fastethernet0/1,administratively down(管理员上的接口down状态)说明接口忘记打开或被人为关闭,需要输入no shutdown开启
出现单一down说明接口或物理线路出现故障
排除逻辑故障
通过ping测试连通性
检查ip地址 show ip interface brief

Linux基础
linux操作系统的组成分为内核和外围程序
Linux由linuxtorvalds(利纳斯拖瓦斯)发明,是linux之父,linux1.0发布于1991年。
内核版本格式:3.0 以前的版本分为 主版本号,次版本号,修订版本号
主版本号:标识内核的架构,功能等方面的重大升级
次版本号:标识当前版本是稳定版还是开发版(奇数是开发版,偶数是稳定版) 所有的偶数版都比奇数版稳定
修订版本号:同一个内核版本中的不断修订和升级,即每一次较小的改变。
以上方式只适用于3.0以前的linux内核版本
3.0以后的版本分为主线版本和长期支持版本

GNU
GNU的全称是GNUisnotunix(自由软件运动),发起者理查得斯托曼,是将所有该项目中的软件无偿提供给使用者,如:GNU/linux。但发展到现在需遵循GPL、LGPL协议。
GPL协议:要求用户可以对软件进行随意复制、修改、传递使用,但依然需要保持遵循GPL协议GNU/linux。
LGPL:是GPL协议的变种,要求相对宽松,允许不公开全部源代码。
开源概念:开源软件即开放全部源代码。开源软件只是软件不收费,但不代表使用过程中不收费。

开源软件有:fire fox、open office、apache
linux发行版本:liunx内核+自由组合的开源软件。
如:Fedora、Ubuntu、linuxmint、opensuse、redhat、centos(社区)。

Linux磁盘管理:分区名/dev/sda1、 /dev/hda2
/dev/表示目录,存放硬件文件相关的目录
Sd代表scsi接口的硬盘
Hd代表ide接口的硬盘
a、b、c代表第几块硬盘
数字1、2、3代表第几个分区

常见分区类型硬盘:主分区、扩展分区、逻辑分区。

(主分区加拓展分区最多为四个,可以全部是主分区,至少要有0个或者一个拓展分区)
(没有拓展分区就没有逻辑分区 ,逻辑分区编号为5)
linux文件系统:EXT(扩展文件系统)、XFS(日志文件系统)、SWAP(交换文件系统)
linux、ubuntu常用命令:
uname -r查看内核版本、
lsb_release -a查看发行版本日期、
mkdir创建文件夹、
cd进入、
dir/ls查看、
ip addr查看ip、
cat /proc/version查看详细版本信息

Linux基础命令
shell
位于系统内核和用户之间,负责接受用户指令并进行解释,扮演翻译官角色。也称shell解释器
在windows中扮演翻译官的角色有cmd,powershell(加强版cmd)
Linux常用的shell是bash:代表linux系统中默认使用的shell程序 bash 1.sh

命令分为内部命令和外部命令(type 命令 进行区分)
内部命令:集成于shell解释器之内的命令,也称内建命令 (查找较为快速)
外部命令:linux系统中能够完成特定功能的脚本文件或二进制程序文件

命令的使用
命令的格式分为:命令、选项、参数
命令是指令的名称,最关键的部分
选项是调节命令的具体功能(–长格式,-短格式,长格式使用选项的全称,短格式使用选项的简称,多个短格式可以合并成长格式)
参数是命令的处理对象
注意:linux命令严格区分大小写

编辑linux命令的快捷键
TAB自动补齐
\换行符 同\n
Ctrl+u删除当前光标位置之前的所有字符串
Ctri+k删除当前光标位置之后的所有字符串
Ctrl+l清屏 同clear
Ctrl+c打断当前命令
帮助命令分为help、–help、man
Help查看内部命令的简要帮助信息,格式为{help 命令}
–help查看外部命令的简要帮助信息,格式{命令 --help }
Man使用帮助手册,格式为{man 命令},有中文包
使用快捷键操作如下
空格键:向下翻一屏
B:向上翻一屏
回车:向下翻一行
K:向上翻一行
Ctrl+d:向下翻半屏
Ctrl+u向上翻半屏
G:跳转最后一行
1G:跳转到第一行
Q:退出

搜索关键字
/关键字:从光标处向下查找关键字符串,直到行尾
?关键字:从光标处向上查找关键字符串,直到行首
n:与查找方向相同切换关键字一次一个
N:与查找方向相反切换关键字一次一个
Info使用帮助信息页,man里边没有可以在info查看(补充存在)
Tab键:多个节点之间跳转
回车:进入某个节点页面
n:跳转至下一个节点
p:跳转至上一个节点
u:跳转至上一级节点
pageup/pagedown:向上/向下翻页
q:退出

命令指示符解释
[root@localhost ~] 表示含义为: [ 当前用户 @ 当前主机名、当前工作目录 ] 提示符,提示符 表示含义为: [当前用户@当前主机名、当前工作目录]提示符,提示符 表示含义为:[当前用户@当前主机名、当前工作目录]提示符,提示符代表普通用户,#代表管理员用户,~代表家目录,/代表根目录

linux切换操作终端
图形界面切换字符界面:ctrl+alt+f(2-6)
字符界面切换图形界面:alt+f1
字符界面切换字符界面:alt+f(2-6)

Linux下基础命令
cd / 返回根目录
pwd查看当前工作目录
cd:切换工作目录
cd -:返回之前所在目录
cd ~:返回家目录
cd … :返回上一级
cd . :代表当前目录(同cd 通常省略)

路径分为相对路径和绝对路径
绝对路径:永远以/目录为起点
相对路径:以当前目录为起点

linux查看文件基础命令
ls查看当前目录中的内容
ls -l代表查看详细信息
h代表显示单位
d查看目录本身的信息
a查看隐藏文件(多显示.和…)
A查看隐藏文件(不显示.和…)
S代表从大到小排序
r代表反向排序
t代表时间从晚到早排序
R代表递归显示目录中所有内容

万能公式查看 ls -lhRSr

设置别名命令:alias
格式:alias 别名=‘命令选项‘
取消别名:unalias 别名
注:设置别名只对当前shell生效
查看别名 alias

故障解释
Command not found命令找不见
No such file or directory没有该文件或目录

统计目录及文件空间使用情况命令:du
格式:du -h显示单位
-a显示指定目录中每个子目录及文件的空间使用情况
-s仅显示指定目录中总空间使用情况

创建目录命令:mkdir
格式为:mkdir 目录1/目录2
注:创建多级目录时,要使用选项-p

删除空目录命令:rmdir
格式为:rmdir 目录1 目录2
注只能删除空目录
-v显示删除详细信息

补充拓展命令
Bash特性-名称展开
{…}、{,}:将其内容展开多个路径

创建测试用的空文件命令touch mkdir创建的是目录 touch 创建的是一个测试文件

修改文件内容命令nano
格式:nano 文件名
注:文件名不存在自动创建,存在则修改
Ctrl+o保存
Ctrl+x退出

查看文件内容命令
格式:cat 文件名

创建链接文件分为两种类型
格式为:ln 源文件 新文件 :创建硬链接文件
ln -s 源文件 新文件 :创建软连接文件
两种类型区别:硬链接相当于复制,链接文件不依赖源文件,软链接相当于快捷方式,链接文件依赖于源文件存在。且两者的inode号码不同 硬链接一样。Ls -li

文件类型分为(file) 七类
-:普通文件
d:目录
b:块设备文件
c:字符设备文件
s:套接字文件
l:链接文件
p:管道文件
f:所有文件

复制命令:cp
格式为:cp 选项 源文件 目标文件
cp -r其他选项 源文件 目标目录
选项:i:覆盖时询问
f:强制覆盖不询问
r、R:递归(对目录操作时需要使用)
p:保留文件属性

删除命令:rm 慎用 rm -rf /*
格式为:rm 选项 文件或目录
选项:i:覆盖时询问
f:强制覆盖不询问
r、R:递归(对目录操作时需要使用)

移动命令mv
格式为:mv 选项 源文件 目标文件或目录
mv 选项 源文件 目标文件名
同级目录下移动相当于重命名

查找命令which
格式为:which 选项 命令
默认情况下,which只列出找到的第一个命令,若想找出所有匹配项,需要输入-a

查找命令find(工作环境中使用最多)
格式为:find 范围 查找类型 匹配条件
类型分为 -name根据文件名查找,*匹配任意个数任意字符,?一个任意字符
-size根据文件大小查找(k、M、G),+表示大于指定空间,-表示小于指定空间
-user根据文件的创建者(属主)查找
-type根据文件类型进行查找(f、d、l、c、b、s、p)
-a表示而且,-o表示或者
find二次处理命令-exec,不能用别名
格式为:-exec 命令 {} \;

find配合mtime命令

Linux目录结构命令

根文件系统
根文件系统概念:倒置的树状结构,以根为起点,其下包含多个一级子目录,二级子目录等等
静态视角(文件管理):硬盘中每一个文件一定位于目录树中的某一位置,可以通过根目录被访问到。根目录有且只有一个
动态视角(进程管理):应用程序在运行之前,都是静态文件,存放在目录树下,内核必须先找到目录树并激活,才能启动更多的应用程序。

FHS(文件系统层次结构标准)
/bin:所有用户可用的基本命令程序文件
/sbin:仅供系统管理员可用的命令程序文件
/boot:引导程序会使用到的各种静态文件,如kernel、grub等。
/dev:存储特殊文件或设备文件,如块设备文件
/etc:系统程序的静态配置文件,通常叫conf
/root:管理员的家目录
/home:普通用户的家目录,列如:zhangsan家目录在/home/zhangsan
/lib:为系统启动或根文件系统提供库文件支持,以及为内核提供模块支持
/mnt:其他文件系统的临时挂载点,如u盘,移动硬盘
/media:多媒体设备的挂载点,如光盘,软盘
/opt:附加应用程序的安装位置
/srv:存储本机或本地服务器提供的服务或数据
/tmp:为应用程序提供临时缓存文件的目录
/proc和/sys:虚拟文件系统目录,不占用硬盘空间,存在内存中
/usr:全局共享的只读数据中心,除了根以外最重要的文件系统,相当于小根目录,里面有/usr/bin、/usr/sbin、/usr/lib、/usr/local(自带层级结构)本地安装第三方应用程序的目录、/usr/share、/usr/src程序源码文件的保存目录。
/var:存储经常发生变化的数据的目录,如日志,邮件,数据库文件等。
/run:运行中的进程的变化数据,如PID

Linux基础命令
查看文件内容:cat(显示内容较少的文件) -n显示行号
more(查看内容较多的文件) 回车:向下翻一行、空格:向下翻一屏、b:向上翻一屏、q:退出
less(也适合查看内容较多的文件,提供比more更多的扩展功能,如支持管道文件)
head(默认显示文件头部10行)
tail(显示文件尾部10行) -n显示n行、
tail -f 持续显示文件变化 tail -f 1.txt 去第二个终端修改1.txt 则此命令可以持续监控状态

wc(统计文件的行数、单词数、字符数),行数l、单词w 字符c

grep(逐行筛选文件内容)正则三剑客之一
n显示匹配条件的行号、i匹配时忽略大小写、v反向选取,用来查找与选项不符的内容
格式为:grep 选项 “条件” 目标文件
配合通配符:^以某字符开头的行、KaTeX parse error: Expected group after '^' at position 10: 以某字符结尾的行、^̲搜索空行。

压缩文件(源文件变压缩文件)源文件消失,想要不消失用tar
gzip:压缩文件(gzip格式,扩展名为gz)-d为解压缩
bzip:压缩文件(bzip2格式,扩展名为bz2) -d为解压缩
1-9为选择压缩比(9压缩的最小)

tar归档(保留源文件):tar(归档文件)
c创建、x释放(解压)、f调用归档程序,必用且必在最后、z用gzip程序进行压缩处理、t查看归档文件内容、C指定解压路径、p保留源文件权限和属性、P归档时,保留绝对路径(/目录)j调用dzip2程序进行压缩、v详细过程

Linux文件编辑器
概述
vi和vim
vi:所有的类unix(unix-like)都有内置vi编辑器,很多软件的编辑接口会主动调用vi
vim:具备程序编程的能力,主动以字体颜色辨别语法的正确性,方便程序设计,程序简单,编辑速度快。
vi的使用
vi分为三种工作模式:命令模式、输入模式、末行模式
工作模式切换命令
命令模式→输入模式
a:从光标后一格开始输入
A:从光标所在行尾开始输入
i:从光标前一格开始输入
I:从光标所在行首开始输入
o:从光标所在行下一行开始输入
O:从光标所在行上一行开始输入
输入模式→命令模式
Esc
命令模式→末行模式

命令模式:光标移动
方向键上下左右
gg/1G跳转到第一行
G跳转到最后一行
#G跳转到第#行
Pageup向上翻屏
Pagedown向下翻屏
Ctrl+d向下翻半屏
Ctrl+u向上翻半屏
^或home跳转到当前行的行首
KaTeX parse error: Expected 'EOF', got '#' at position 98: …d删除光标所在行 #̲dd删除#行 d1…删除从光标到行尾的数据
d^或d0删除以光标到行首的数据
#X删除#个字符
X删除一个字符
dw删除一个单词
复制
yy复制光标所在行
#yy复制#行
y1G复制从光标所在行到第一行所有数据
yG复制从光标所在行到最后一行所有数据
y$复制从光标到行尾的数据
yo复制以光标到行首的数据
粘贴
p将已复制的内容,粘贴到光标下一行
大P将已复制的内容,粘贴到光标上一行
撤销
u撤销,直到文件打开的初始状态
末行模式下查找与替换
查找
/向下查找符合条件的字符串
?向上查找符合条件的字符串
n同向跳转关键字
N反向跳转关键字
替换
n1,n2 s/旧字符串/新字符串 解释:查找n1-n2行符合条件的字符串,并替换每行每一个符合的字符串

            :1,$  s/旧字符串/新字符串 解释:在全文中查找符合条件的字符串,并替换每行第一个符合的字符串:1,$  s/旧字符串/新字符串/g 解释:在全文中查找符合条件的字符串,并替换每行所有符合的字符串。:%   s/旧字符串/新字符串/g  解释:在全文中查找符合条件的字符串,并替换每行所有符合的字符串:%   s/旧字符串/新字符串/gc  解释:在全文中查找符合条件的字符串,并替换每行所有符合的字符串。 y表示确认替换、n表示不替换该旧字符、a表示替换剩余所有的旧字符

其他补充
u撤销,直到文件打开的初始状态
U撤销本行的所有操作
大写的 ZZ保存并退出命令模式

末行模式
:w保存
:q退出
:wq保存并退出
:r 读取其他文件内容至当前文件
:w 文件名 表示另存为
!表示强制操作
! 命令 表示不退出当前文本操作,执行命令
n/N 多个文件切换
files 显示文本列表
set nu 显示行号
set nonu 取消行号
set hlsearch 支持高亮显示(如查找、替换)
set nohlsearch 取消高亮显示

其他补充
可视区块
v 字符选择
V 逐行选择
Ctrl+v矩形方式选择
y复制、d删除、p粘贴

     sp 文件名 水平切割屏幕,开启多个文件     “水平 sp”vsp 文件名 垂直切割屏幕ctrl+w+方向键 移动窗口ctrl+w和q 关闭窗口

Linux安装及管理程序
概述
命令与程序的关系
文件位置:命令一般存放于/bin或/sbin中,程序一般存放于/usr。
主要用途:命令一般用于完成基本的系统管理操作,程序一般用于完成相对独立的系统辅助工作
使用环境:命令一般通过字符界面即可使用,程序一般需要图形界面才能提供更完整的功能
运行格式:命令格式一般固定命令、选项、参数,程序格式不固定

软件包类型
RPM:扩展名为.rpm
DEB:扩展名为.deb
源代码软件包:扩展名通常为.tar.gz或.tar.bz2
免安装:扩展名通常为.tar
附带安装程序的:扩展名通常为install、setup

软件包格式
软件包名(包名):vsftpd-3.0.2-el7.x86_64.rpm
软件名 版本号 发行版本 硬件平台rpm后缀名

RPM管理命令
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”

查看已安装的软件列表:rpm -qa
查看软件是否安装:rpm -q 软件名
若未安装则显示:package xxx is not installed 表示xxx软件没有安装
若已安装则显示完整软件包名
注意:查找必须全部输入软件名

软件安装:i(安装)、v(显示安装过程详细信息)、h(以#显示安装进度条信息)
安装命令实列:rpm -ivh vsftpd-3.0.2-el7.x86_64.rpm
注意:软件包名若想补全,指定目录必须有该软件
error:failed dependencies 警告:错误的依赖关系
卸载软件程序命令:rpm -e(卸载,卸载时使用软件名)
实列:rpm -e vsftpd

针对已安装的软件管理命令(操作针对未安装-q软件名)
rpm -qi 查看指定软件包的名称、版本、协议、用途等详细信息
-ql 查看指定软件包已安装时会生成的所有目录,文件列表
-qf 查看指定文件或目录是由哪个软件包所安装的
-qc 查看指定文件文档文件,配置文件
-qd 查看帮助手册
针对未安装的软件管理命令(操作针对软件包)
rpm -qpi 查看指定软件包的名称、版本、协议、用途等详细信息
-qpl 查看指定软件包已安装时会生成的所有目录,文件列表
-qpc 查看指定文件文档文件,配置文件
-qpd 查看帮助手册
升级软件包命令
rpm -U 升级,若目标软件未安装,则安装,相当于执行了ivh操作
rpm -F 升级,若目标软件未安装,则放弃本次升级操作

其他选项
格式为 rpm –命令 --nodeps优先于–force
–force 强制安装
–nodeps 忽略依赖关系
–rebuilddb或–initdb 重建RPM数据库
–import 导入公钥文件(安装盘根目录中)至RPM数据库
RPM软件问题:若安装软件时,出现依赖关系,先安装依赖关系软件,或同时指定所有软件名(目标软件和依赖软件)或忽略依赖关系:输入命令(–nodeps)。

源代码软件管理
优势:
获得更(较)新的软件版本
灵活定制软件
应用场景
安装较新版本的软件时
当前版本无法满足定制需求时
为应用程序添加新功能时
缺点:
依赖关系较强

源代码安装基本流程 解压、编译、配置、安装。
运行配置/.configure
make编译
make编译安装
运行

查看挂起文件 mount
取消挂起文件 umount

Linux搭建网站 nginx
光盘挂起:mount /dev/sr0 /media
拖拽文件并放入/目录
第一步cd /etc/yum.repos.d/ 进入配置文件
第二步mv CentOS-Base.repo CentOS-Base.repo.bak 备份原来的yum
第三步vim CentOS-Media.repo 两个选项0改成1 1改成0 保存退出,gpgcheck是否检查软件包选择0,enabled=1,启用
第四步mount 查看挂载
第五步umount /dev/sr0 取消挂载
第六步mkdir /media/cdrom 创建一个挂载文件夹
第七步mount /dev/sr0 /media/cdrom/ 将sr0挂载到media/cdrom

第八步yum -y install gcc* 使用yum安装编译器
第九步yum -y install pcre-devel zlib-devel 字符编码程序和压缩功能,nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库

第十步解压tar -zxf nginx-1.17.0.tar.gz
第十一步cd nginx-1.17.0/ 进入
第十二步./configure 执行,配置
第十三步make 编译
第十四步make install 编译安装
第十五步/usr/local/nginx/sbin/nginx start 启动网站服务器
第十六步切换图形界面 左上角找火狐浏览器 地址栏输入127.0.0.1

Linux YUM仓库
YUM(yellow dog updater modified)

YUM基于RPM机制的软件管理工具
YUM特点:只能管理RPM的软件包
YUM作用:只能解决RPM的依赖关系
提供软件
mount:挂载 (相当于外部存储)
mkdir /media/cdrom 建立挂载点 (相当于接口)
umount /dev/sr0 取消挂载
mount /dev/sr0 /media/cdrom挂载

配置YUM
Vim /etc/yum.repos.d/
仓库文件后缀.repo
【仓库名】
name=仓库说明
mirrorlist/baseurl=安装路径
gpgcheck=0/1检测软件完整性,0/1代表不检测/检测
enabled=0/1 当前文件是否生效,0/1代表不生效/生效
gpgkey=file:///提供公钥

yum的实现方式:本地光盘安装、FTP、HTTP

命令
yum install 安装软件(-y表示确认安装)
yum remove 卸载软件
yum info 查看软件信息
yum list 查看仓库中的软件列表
yum clean all 清空yum缓存

yum组命令
yum group install安装组软件(-y表示确认安装)
yum group remove卸载组软件
yum group info查看组软件信息
yum group list 查看组仓库中的软件列表
注意:安装yum中,不要进行ctrl+c打断,容易产生报错信息,导致yum损坏

Linux账号权限管理
用户管理

用户类型:超级用户(root),UID为0
程序用户(为维护系统和特定应用程序创建的低权限用户,
不能用于登陆操作系统)UID为1-999
普通用户(由root或其它管理员创建的用户,能够登陆操作系统)
uid为1000-65535
UID:用户标识符

用户配置文件(/etc/passwd)
每个:为一个字段
第一字段:用户名
第二字段:密码占位符
第三字段:UID
第四字段:GID
第五字段:用户说明
第六字段:家目录
第七字段:用户的shell类型 /bin/bash能够登录操作系统 sbin/nologin禁止登录操作系统

用户密码文件(/etc/shadow)
第一字段:用户名
第二字段:密码(使用SHA-521单项加密算法进行密码加密处理)*和!表示不能登录系统,如果为空则表示不需要密码登录
第三字段:上次修改密码的时间,单位为天(自1970.1.1开始计算)
第四字段:密码最短的有效期
第五字段:密码最长的有效期
第六字段:警告日期,用于密码即将到期提前多少天通知用户
第七字段:宽限日期,当密码过期后还能用几天
第八字段:账号失效日期,适用于临时访问用户
第九字段:保留

用户管理命令
useradd:添加用户
-u指定UID
-d指定家目录(目录会自动创建)
-e指定失效时间(年-月-日)
-s指定shell类型
-M不生成家目录
-g添加到基本组(会写入/etc/passwd中)
-G添加到附加组(会写入/etc/group中)

usermod:修改用户信息
-u指定UID
-d指定家目录(目录会自动创建)
-e指定失效时间(年-月-日)
-s指定shell类型
-M不生成家目录
-g添加到基本组(会写入/etc/passwd中)
-G添加到附加组(会写入/etc/group中)
-I改名
-L锁定
-U解锁

passwd 修改密码
-l锁定密码
-u解锁密码
-S查看密码状态
-n密码最短有效期
-x密码最长有效期
-w警告时间
-i宽限日期
–stdin标准输入
例:echo“123” | passwd --stdin wlc (为wlc设置一个密码)
userdel删除用户
-r删除用户同时,删除其家目录
用户账户配置文件
/etc/skel用户模板目录
其中有三个文件.bash_profile、.bashrc、.bash_logout
Linux组管理和权限设置
组配置文件(/etc/group)
第一字段:组名
第二字段:密码占位符
第三字段:GID
第四字段:组成员列表

组密码配置文件(/etc/gshadow)
第一字段:组名
第二字段:密码
第三字段:组管理员
第四字段:组成员列表

组类型分为:基本组(只能有一个)、附加组(可以有多个)
组管理命令
groupadd:创建组
-g指定GID
gpasswd设置组密码,和添加删除用户
-a添加用户至指定组
-d从指定组中删除用户
-M重新定义组成员(可以同时设置多个以逗号分隔)
-A添加组管理员
groupdel:删除组
newgrp:临时切换用户的基本组
注意:临时切换基本组为某个附加组,切换目标若不是该用户的附加组,组需要提供该组密码(gpasswd设置)

查看命令
groups:查看指定用户所属组
id:查看指定用户身份标识
finger:查看用户账号信息(默认未安装,需要手动安装)
w、who、users:查看在线用户的信息

权限设置
切换用户身份:su(切换当前用户),su切换到指定用户,不更改当前的工作目录及操作环境
su – 用户名:切换到指定用户,并应用新用户的工作目录(家目录)及操作环境
su或su – 不指定用户名,则表示切换root身份(需要提供管理员密码)
exit返回上一级shell环境

查看权限
ls -l查看文件详细信息
文件全名所表达的信息如下:
-rw- r–r-- l root root 34298 0402 00:23 instal.log
权限 硬链接 属主 属组 文件大小 创建时间 文件名
-rw- r–r-- :权限列表共10个字符

第一个字符为文件类型,如(-、d、b、c、s、p、l)
剩余9个字符,每三个为一组,代表特定身份的权限

第一组:代表属主的权限(2-4字符)
第二组:代表属组的权限(5-7字符)
第三组:代表其他人的权限(8-10字符)

字符含义
r全称read读取的权限
w全称write写入的权限
x全称exccute执行的权限
rwx出现的位置是固定的,若不包含该权限,则通过-占位

权限的意义
对文件的意义:r可以读取文件内容
w可以编辑,新增或修改文件内容
x该文件可以被系统执行
对目录的意义:r可以读取目录列表的权限,既可以使用ls查看
w具有改动该目录列表结构的权限,建立新文件或目录,删除文件或目录(无论该文件权限是什么),将已存在的文件或目录改名,移动该目录内的文件和目录位置。
x可以进入该目录的权限

权限的管理命令
chmod修改权限,分为字符修改法和数字修改法
字符修改法: u属主
g属组
o其它
a所有人
+代表添加权限
-代表删减权限
=代表赋予权限
加入-R递归,对指定目录及子目录和文件都生效
例:chmod u+w 1.txt

数字修改法: r读取文件内容,用4表示
w编辑写入文件内容,用2表示
x可以被系统执行,用1表示
通过3位数字,表示所有身份的权限,第一位代表属主,第二位代表属组,第三位代表其他人(从左到右顺序)

chown修改归属命令(可以加入-R进行递归操作)
例:chown a1:g1 1.txt
属主:属组
仅改属组:chown :属组 文件或目录
仅改属主:chown 属主 文件或目录
chgrp仅能更改属组的命令
例chgrp g3 1.txt

默认权限
umask权限反码 022系统设置的默认固定值
作用:文件和目录的默认权限
文件:默认权限666→022→644
目录:默认权限777→022→755

隐藏权限
chattr设置隐藏权限
格式 chattr =+ -选项 文件或目录
a 该文件只能增加数据,不能删除也不能修改
i 该文件不能增加,删除,修改,链接,重命名等
lsattr 查看隐藏权限

特殊权限
setuid 和 setgid 分别是 set uid ID upon execution 和 set group ID upon execution 的缩写。我们一般会再次把它们缩写为 suid 和 sgid。它们是控制文件访问的权限标志(flag),它们分别允许用户以可执行文件的 owner 或 owner group 的权限运行可执行文件。
SUID setUID

SGID setGID

总结,当 SGID 作用于普通文件时,和 SUID 类似,在执行该文件时,用户将获得该文件所属组的权限。当 SGID 作用于目录时,意义就非常重大了。当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用 SGID 修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。
SBIT t,粘滞位 :作用于目录上使得该目录下创建的文件和目录只有root和属主可以删除,其他用户无权限

Linux硬盘结构及命令
硬盘结构
硬盘有多个盘片,每个盘片有两个盘面,每个盘面都有磁头读取数据,每个盘片不同半径的同心圆组成多个磁道,每个磁道又被划分成若干个弧段,称之为扇区,扇区是磁盘的最小组成单元,通常时512B大小,不同盘片的相同磁道组成的圆柱,称之为柱面。
硬盘接口分为:IDE、SCSI、SATA、SAS
命名
硬件文件名:/dev
/dev/sr0 光驱
/dev/lp[0-2] 25针的打印机
/dev/usb/lp[0-15]usb接口打印机
分区文件名:/dev/hd[a-d]旧系统IDE专用
/dev/sd[a-p]SCSI、SATA、USB接口
第一扇区
磁盘分区表
管理方式:MBR主引导记录(master boot record)
作用:处理引导程序和分区表
总空间:512字节,分为以下三个部分
主引导记录:安装和启动引导程序,共466字节
分区表:记录整个硬盘的分区状态,共64字节
结束标识:标识MBR结束,共2字节
分区结构:
每个分区信息需要16字节记录,因此MBR分区表中默认只能写入4组信息,4组分区信息称之为主分区或扩展分区
主分区+扩展分区最多只能有4个
扩展分区最多只能有一个
逻辑分区是由扩展分区持续划分出来的分区
主分区和逻辑分区能够在格式化后存取数据,扩展分区无法格式化
逻辑分区的数量在不同操作系统中有所不同,linux中SATA盘可以突破63个
扩展分区损坏,则所有逻辑分区将会被删除
MBR缺点:
操作系统无法使用2.2TB以上的硬盘
MBR仅有一个扇区,若被损坏,较难修复
MBR存放引导程序的区域较小(446),无法存储较多的程序代码

GPT新的分区表示格式,最大支持8ZB
使用LBA(逻辑区块地址),默认512字节
GPT使用34个区块来记录引导信息,并且使用另外34个进行备份
LBA0(MBR兼容区块):兼容MBR,使用446字节,存储引导程序,并通过特殊

标识符声明当前磁盘为GPT格式
LBA1(GPT表头记录)
记录分区表的大小和位置
LBA2至33(实际记录分区信息)
LBA34至-34(GPT的分区内容,如文件系统
LBA-34至-2(分区备份)
LBA-1(表头记录备份)
分区编号
例:/dev/sda1
Sd代表scsi接口
Hd代表ide接口
a,b,c,d代表磁盘的序号
1,2,3,4代表分区的序号
逻辑分区从序号5开始计数
linux文件系统
EXT、XFS、SWAP
分区管理命令
fdisk(管理分区) l 查看磁盘列表
l 磁盘名 查看指定磁盘分区表
fdisk 磁盘 划分指定磁盘分区表
m帮助
n新建
p主分区
e扩展分区
l逻辑分区
t设置标签
L查看标签列表
w保存
d删除
partprobe 磁盘名 刷新指定磁盘分区表

mkfs 格式化 -t 指定文件系统 ,也可以使用mkfs.xfs或ext3这种格式进行文件系统格式化

/etc/fstab开机自动挂载配置文件
格式解释:/dev/sdc3 /mnt xfs defaults 0 0
挂载源 挂载点 文件系统 挂载参数 是否备份 是否检测

df -hT 查看挂载磁盘
h显示单位
T输入文件系统类型

交换分区配置操作方法
mkswap 格式化swap文件系统
swapon 为交换分区启动新的空间
swapoff 为交换分区取消指定空间
free -m 查看系统内存空间交换空间使用情况
写入方法/dev/sdc3 swap swap defaults 0 0

LinuxLVM概述及RAID
定义:LVM逻辑卷管理器
特点:弹性调整文件系统的容量,LVM(逻辑卷管理器),可以将几个物理分区(或磁盘)通过软件组合成为一个看起来独立的大磁盘,并且可以灵活的调整卷的大小。LVM是由VG(卷组)、PV(物理卷)、LV(逻辑卷)和PE(物理扩展块)组成。
基本组件
PV物理卷:物理卷就是指磁盘、磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。
VG卷组:LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
LV逻辑卷:LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。
PV:特指磁盘分区或与磁盘分区具有相同功能的设备,如(RAID),是LVM的基本存储逻辑块
VG:由一个或多个物理卷组成的存储池
LV:由VG中创建的标准块设备,可以创建文件系统,提供类似于硬盘分区的功能
PE:是物理扩展块,整个LVM中最小的数据存储单位(4MB)
基本命令
创建 pvcreate 设备名1,设备名2

		 vgcreate 卷组名 物理卷1,物理卷2lvcreate 选项 逻辑卷名 卷组名-L指定逻辑卷容量 单位M、G、T-l 指定PE的个数-n 指定逻辑卷的名称

进入vim/etc/fstab设置开机自动挂载

查看简要信息
pvscan
vgscan
lvscan
详细信息
pvdisplay
vgdisplay
lvdisplay
删除卷组
pvremove
vgremove
lvremove
扩展
vgextend

lvextend

ext4文件系统操作方法
lvextend -L 3G /dev/vg0/lv0
lvdisplay 新容量已更新
mount 查看挂载
df -hT 挂载后查看,容量未更新
umount
e2fsck -f /dev/vg0/lv0 检测指定文件系统
resize2fs /dev/vg0/lv0 刷新ext4文件系统
mount
df -hT 挂载后查看,容量已更新

XFS文件系统
lvextend -L 3G /dev/vg0/lv1
lvdisplay 新容量已更新
mount
df -hT 挂载后查看,容量未更新
xfs_growfs /dev/vg0/lv1 刷新XFS文件系统
df -hT 容量已更新
缩减(删除卷)
vgreduce
lvreduce
RAID概述
定义:RAID:磁盘阵列
特点:整合磁盘空间,提高读写性能,并附带数据保护的功能
类型:
RAID 0(等量模式,性能最佳)
通常使用相同型号和容量的多个磁盘组成
越多磁盘组成的RAID 0 性能越好,因为每个磁盘负责的数据总量更低。
RAID 0的总容量为多个磁盘容量的累加
适合数据量大,但安全性要求不高的场景
它会将磁盘切出等量的区域,然后当一个文件要写入的时候,会将文件的大小提前切割好,之后在依次依序的存放在各个磁盘里面去,也就是说如果你有1G的数据要存放,如果有2块磁盘。如果磁盘阵列使用的是RAID-0级别的话,那么每个磁盘会被分配到0.5G的存储量,同时需要注意的是,使用RAID-0你必须要时刻注意数据的安全性能,因为一旦某一块的磁盘坏了,那么文件数据将缺一块,此时这个文件就坏了。由于每个文件都是这样存放的,因为只要RAID-0当中的任何一块坏了,那么RAID上面所有的数据都会丢失。
RAID 1 (镜像模式,完整备份)
通常使用相同型号和容量的多个磁盘组成
将同一份数据完整保存在两块磁盘上
RAID 1的总容量为磁盘总容量的50%
适合对数据安全性要求非常高的场景
这种模式的磁盘阵列可以用来进行完整的备份,主要是让同一数据完整的保存在两块磁盘上面。如果我有1G的数据需要存放,有两块磁盘,并且都是RAID-1模式,那么2块磁盘就会各自存放1G的数据,这样的话,整个磁盘的容量就减少了50%。因为两块磁盘当中的数据是一模一样的,我们也叫这种模式为镜像模式,这样的好处是任何一块磁盘如果损毁的话,那么你的火速据还是可以完整的保留下来的,所以RAID的主要功能在与进行磁盘数据的备份。不过由于磁盘有一半用于备份了。因此它的总容量的就减少为以前的一半了。这个需要注意。
RAID 1+0或RAID0+1(既提高性能,又保证安全性)
扩展性不好,组建成本高
RAID 5(性能与安全性的均衡方案)
需要使用至少3块以上的磁盘组成
最常用的RAID方案
总容量为n-1,能够允许一块磁盘损坏
这种模式的磁盘阵列至少需要三块以上的磁盘可以处理。它类似于RAID-0,不过在每个循环写入的过程中,在每块磁盘里还加入了一个块,这个特殊的块用来记录其它磁盘的备份数据,所以当有磁盘损坏的时候,RAID-5都可以进行记录,但是这个记录是有限制的,由于有我们刚才所说的“特殊块”的存在,因此RAID-5的总容量会使整个磁盘数量减去一块。如果是有3个磁盘,那么原本的3个磁盘在使用RAID-5以后就会成为(3-1=2)块磁盘的容量了。而且当损坏的数据的容量大于等于两块的时候,这个RAID-5就损毁了。因为:RAID-5默认仅仅只能支持一块磁盘的损毁情况。
RAID对比表
项目 RAID 0 RAID 1 RAID 10 RAID 5
最少磁盘数 2 2 4 3
容错磁盘数 无 n-1 n/2 1
安全性 无 最佳 最佳 好
写入性能 n 1 n/2 n-1
读取性能 n n n n-1
可用容量 n n/2 n/2 n-1
应用场景 重性能 数据备份 云环境 均衡
基本命令配置磁盘阵列
mdadm 配置软raid
mdadm --create /dev/md[0-9] --auto=yes --level=[0/1/5] --raid-device=N --spare-device=N 设备名1 设备名2
create 创建raid
auto 确定建立后续指定的磁盘阵列设备
raid-device 使用几个设备作为磁盘阵列的基础(分区或磁盘)
spare-device 使用几个空闲设备作为备份
level 指定当前使用的raid类型
detail或D 查看指定raid的信息

manage 管理模式-f 模拟硬盘损坏--remove 从raid中移除指定设备--add 向raid中添加指定设备

lsblk查看磁盘
blkid查看磁盘标识(硬盘uuid信息)
/boot不能用逻辑卷,不能基于LVM创建,必须独立。
在生产环境中,拿到新服务器前必须先进行raid,进行数据整合,提高数据安全性,可靠性。

Linux磁盘配额
作用:提供更加灵活的磁盘空间管理
应用场景:网络和本地
网络:网站服务器:个人页面容量限制
邮件服务器:邮件附件的容量限制
文件服务器:针对个人存储空间进行容量限制
本地:限制用户使用的最大磁盘空间
限制用户组使用的最大磁盘空间
限制特定目录的最大磁盘空间
使用条件:
内核必须支持磁盘配额
软件必须安装
注意事项:
EXT仅能针对整个文件系统(用户、组)进行设置,而XFS可以根据目录进行设置
磁盘配额仅对一般用户生效
若启用(SeLinux)安全机制,则并非所有目录均可设置磁盘配额。
组配额和目录配额无法同时并存
Linux四层安全机制包括:防火墙、安全增强linux(SeLinux)、ACL、TCPY
磁盘配额以XFS文件系统为例
设置规范
配额对象:用户、组、目录(user、group、project)
配额方式:空间限制或数量限制(block、inode)
配额类型:软限制和硬限制(soft、hard)
宽限时间:超过软限制并且未到达硬限制时,启用的警告机制
模拟实验例子
测试用户:创建五个用户,分别是a1 a2 a3 a4 a5密码为123,基本组为g1
用户磁盘配额:每个用户使用300MB的容量,文件数量不限制,超过250MB警告
组磁盘配额:仅允许g1组最多使用1GB的容量
目录磁盘配额:/home/a目录为(a1-a5)共享目录(其它人没有权限),g1组拥有全部权限,该目录最多使用500MB的空间
宽限时间限制:设置为14天
实验准备:
usrquota:启用针对用户的配额限制
grpquota:启用针对组的配额限制
prjquota:启用针对目录的配额限制
SGID:目录下任何用户创建的子文件和子目录都和当前目录属组相同
基本命令
设置配额:xfs_quota -x -c “命令” 挂载点
-x 专家模式(必须添加,是固定的)
-c 指定命令
print列出当前主机的文件系统列表
df 相当于命令行中的df(用于查看具体信息)
limit 限制配额
state 列出当前的配额启用状态
report 列出当前的配额选项
-u用户配额信息
g组配额信息
b空间限制信息
i数量限制信息
h单位

查看状态

实验操作
创建用户和组,并将用户放入g1组
useradd a1
groupadd g1
usermod -g g1 a1
新建磁盘,并创建空闲文件夹,将磁盘挂入文件夹
/dev/sdb1 /var/test/myquota xfs default usrquota,grpquota 0 0
mount -a自动挂载
设置用户配额
xfs_quota -x -c “limit -u bsoft=250M bhard=300M a1” /var/test/myquota
设置组配额
xfs_quota -x -c “limit -g bsoft=900M bhard=1G g1” /var/test/myquota
设置宽限时间

用户:xfs_quota -x -c “timer -u -b 14days” /var/test/myquota
组:xfs_quota -x -c “timer -g -b 14days” /var/test/myquota
查看:xfs_quota -x -c “state” /var/test/myquota
测试用户配额
chmod 2770 /var/test/myquota 设置文件夹权限
chgrp g1 /var/test/myquota
su - a1
cd /var/test/myquota
dd if=/dev/zero of=1.txt bs=1M count=500
报错:disk quota exceeded
测试组配额
su -a2
dd if=/dev/zero of=2.txt bs=1M count=500
su -a3
dd if=/dev/zero of=3.txt bs=1M count=500
su -a4
dd if=/dev/zero of=4.txt bs=1M count=500
设置目录配额
vim /etc/fstab
/dev/sdb1 /var/test/myquota xfs defaults,usrquota,prjquota 0 0

umount /var/test/myquota
mount -a挂载

指定目录配置方案名称和标识符

/etc/projid(该文件默认不存在,无法补全)
myquotaproject:11

指定标识符和对应的操作对象
/etc/projects(该文件默认不存在,无法不全)
11:/var/test/myquota
xfs_quota -x -c “limit -p bsoft=400M bhard=500M myquotaproject” /var/test/myquota

xfs_quota -x -c “project -s myquotaproject”

xfs_quota -x -c “report -pbih” /var/test/myquota
测试
任何用户测试皆可(root也行)
dd if =/dev/zero of=2.txt bs=1M count=500
报错:no space lest on device
其他命令
disable:暂时取消磁盘配额的限制

xfs_quota -x -c “disable -up” /var/test/myquota
xfs_quota -x -c “state” /var/test/myquota
enforcement:OFF
enable:恢复正常磁盘配额的限制,对应disable

xfs_quota -x -c “enable -up” /var/test/myquota
xfs_quota -x -c “state” /var/test/myquota
enforcement:ON
off:完全关闭磁盘配额,关闭后,只有先取消再重新挂载才能再次启用磁盘配额限制
xfs_quota -x -c “off -up” /var/test/myquota
umount /var/test/myquota
mount -a
xfs_quota -x -c “enable -up” /var/test/myquota
remove:删除磁盘配额的限制(软限制、硬限制)

xfs_quota -x -c “off -up” /var/test/myquota
xfs_quota -x -c “remove -up” /var/test/myquota

XFS与EXT磁盘配额对比
设置选项 XFS文件系统 EXT文件系统
/etc/fstab usrquota/grpquota/prjquota usrquota/grpquota
独立配额文件 不需要 quotacheck
用户/组配额 xfs_quota -x -c “limit…” edquota或setquota
目录配额 xfs_quota -x -c “limit…” 无
宽限时间(grace time) xfs_quota -x -c “timer…” edquota
查看报告 xfs_quota -x -c “report…” repquota或quota
关闭磁盘配额 xfs_quota -x -c “disable/enable…” quotaoff、quotaon
发送警告信息 无 warnquota
/dev/zero空字符文件
/dev/null相当于window回收站
history显示已经操作的命令

Linux引导操作系统及启动故障处理
Bios
定义:基本输入/输出设备
功能:加电自检:加载硬件信息及进行检测,并取得第一个可启动的设备 (光盘、硬盘、u盘、网络等),进入引导操作系统流程
引导操作系统:针对不同的操作,通过启用引导程序(boot,loader)处理内核加载(load)的问题
MBR:引导程序存放在硬盘第一个扇区中,即MBR(主引导记录)
多操作系统环境下,引导程序的引导流程:
boot loader(引导程序的功能):
提供选项:用户选择不同的启动选项,多重引导的重要功能
加载内核文件:启动操作系统 3-.+
转交其他引导程序:将启动管理功能转交给其他引导程序负责
Linux引导程序直接加载linux内核引导单操作系统启动。流程:(MBR-boot loader-kernel-boot)
Linux引导程序将控制权转交给windows引导程序,启动多操作系统环境中的windwos操作系统。流程:(MBR-boot loader-windows boot sector-windows boot loader-windows kernel-boot)
Linux引导程序将控制权转交给linux引导程序,启动多操作系统环境中的linux操作系统。流程:(MBR-boot loader-linux boot sector-linux boot loader-linux kernel-boot)
GRUB/内核/调用相应模块
加载内核到内存中,并利用内核提供的功能,测试与驱动各周边设备,如硬盘、CPU、网卡、声卡等,做完所有操作后,将系统引导权转交给内核控制。
内核文件存放在/boot目录中,并命名为/boot/vmlinuz
vmlinuz-3*:内核文件
vmlinuz-0*:恢复用的内核文件
efi:UEFI-bios使用的目录
grub:旧版grub1所使用的目录
grub2:启动引导程序(grup2)存放相关数据的目录
symvers-3*:模块符号信号
system.map*:内核功能与内存地址的对应表
initramfs-3*:正常启动时会使用的虚拟文件系统
initramfs-0*:恢复用的虚拟文件系统
initramfs是一个临时的小型的根目录,内核通过其提供的根目录加载驱动程序,最终挂载真正的根文件系统,并释放虚拟文件系统,从而进入正常的启动流程。
内核
负责资源调配(硬件检测、加载驱动程序),控制系统的启动流程
进程初始化,init进程
SysVinit,简称Sys V 应用于centos6和早期版本,启动程序为/sbin/init
Systemd,centos7默认使用,启动的程序为/lib/systemd/systemd
linuxcentos7开机启动流程
(1) 加载BIOS
(2) 读取MBR(主引导记录)
(3) GRUB引导
(4) 加载Kernel
(5) 设定运行级别(systemd0-6)
(6) 加载rc.sysinit(linux系统初始化)
(7) 加载内核模块
(8) 启动运行级别程序
(9) 读取rc.local文件
(10) 执行/bin/login程序

初始化进程
Systemd
单元类型 扩展名 说明
service .service 系统服务,如网站、邮件等
device .device 内核识别的设备文件
target .target 一组进程类型
mount .mount 一个文件系统的挂载点

运行级别(sys V)
Sys V的级别(init) systemd中的target 说明
0 target 关机状态
1 rescure.target 单用户模式,不需要密码即可登录,多用于系统维护
2 multi-user.target 用户定义的特定运行级别(字符界面)
3 multi-user.target 完整的字符运行级别,通常情况下使用最多的运行级别
4 multi-user.target 用户定义的特定运行级别(字符界面)
5 graphical.target 完整的图形运行级别,提供桌面操作环境
6 reboot.target 重启状态

常见的启动类故障
密码找回
重启,内核界面按E编辑,找到linux16行中rhgb参数前添加rd.break
ctrl+x保存
mount -o remount,rw /sysroot挂载临时文件系统
chroot /sysroot 切换到临时文件系统
passwd root 修改密码
touch /.autorelabel更新系统配置
exit退出
reboot重启
MBR故障
cd boot/grub2进行备份
mkdir /backup
mount /dev/sdb1 /backup
dd if=/dev/sda of=/backup/sda.bak bs=512 count=1
模拟损坏MBR
dd if=/dev/zero of=/dev/sda bs=512 count=1
修复MBR
重启,进入救援模式
mkdir /tmpdir
mount /dev/sdb1 /tmpdir
dd if=/tmpdir/sda.bak of=/dev/sda bs=512 count=1
exit
GRUB故障
截图
修改grub2参数
手动输入所需要的GRUB参数
insmod xfs 添加XFS内核模块
手动输入grub所需的参数linux16… 指定内核参数
initrd16 /init… 指定虚拟文件系统
boot 启动
利用备份文件修复GRUB
mv grub.cfg grub.cfg.bak
重启,修改bios,进入救援模式
cd /mnt/sysimage/
chroot /mnt/sysimage
cd boot/grub2/
mv grub.cfg.bak grub.cfg
exit
reboot
重新安装GRUB程序
chroot /mnt/sysimage
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot

Linux程序与进程
概述
Linux图形界面shell有gnome、kde、xfc不同的主题风格
程序:通常是二进制文件,存放在存储媒介中(如硬盘,光盘等),以文件的形式存在
进程:程序被触发后,执行者的权限与属性,程序代码与所需要的所有数据都会被加载至内存中,并被内核分配唯一标识(PID),进程是正在运行的程序。
父进程和子进程
利用父进程提供的接口,衍生出来的另外的进程称之为子进程,父进程标识:PPID,子进程:PID
进程的功能
多用户环境
多任务系统
多终端系统
多任务管理
提高资源利用率
进程管理
任务管理:当用户登录系统并获得bash,shell后,在单一终端下同时执行多个进程的管理模式
前台进程(foreground)和后台进程(background)的注意事项:
A:前台可以和用户交互,后台不可以和用户交互
B:ctrl+c只能打断前台进程
C:所有任务所触发的进程必须是当前用户的shell的子进程,(只能管理自己的bash)
基本命令
直接将命令放入后台(运行状态):&
将当前任务放入后台(暂停状态):ctrl+z
查看后台任务及状态:jobs -r查看后台运行状态任务
-s查看暂停状态任务
-l查看PID号及后台任务
进程前面的+代表新加入的后台文件,进程前面的-代表以前加入的后台文件。
将后台任务调至前台处理:fg 任务序号
更改任务的后台状态为运行:bg 任务序号
查看进程命令

ps 获得某个时间的进程运行情况
-a显示当前终端下的所有进程信息
u显示和用户相关的进程信息
x显示更完整的进程信息,通常和a一起使用
要想显示更完整全面的信息,通常用下面的组合
e显示系统中所有的进程信息
l长格式显示进程信息
f完整格式显示进程信息

查看到的信息包括
User:启用该进程的用户身份
PID:该进程的数字标识(随机)
%cpu:cpu的占用率
%mem:内存的占用率
Vsz:虚拟内存(swap)的空间使用情况
Rss:物理内存的空间使用情况
Start:进程的启动时间
Time:该进程占用cpu的时间
Command:启动该进程的命令

动态显示进程的运行情况:top
查看结果分为上半部分和下半部分
上半部分:第一行:当前系统时间
开机时常
在线用户数
平均负载:1、5、15
第二行:进程状态、总数、运行、睡眠、暂停、僵尸
第三行:cpu状态
第四行:内存状态
第五行:swap状态
(下半部分)第六行:进程状态统计
查看排序命令:p:cpu占用率从大到小,M:内存占用率从大到小,T:进程占cpu时间最长到最短,q:退出

top -d 指定刷新时间,以秒为单位,默认为5秒刷新一次
pstree树状显示父进程与子进程关系
pstree -p 显示PID
pgrep按照特定条件查看进程
-u查看和指定用户相关的进程
-l显示进程的名称
-t查看只当终端下的进程(tty2)

关闭进程命令
kill关闭指定的进程或任务
% 任务序号:关闭指定任务
-l查看kill支持的所有操作
-9强制删除进程和任务
-15以正常方式终止进程或服务
-1让进程重启
-19让进程暂停
pkill 基于进程名关闭指定进程
-u关闭指定用户的进程

进程优先级概述
priority(PRI)和NICE

特点:优先级数字越小,优先级越高
NICE的优先级范围为-20至19
PRI的优先级的数值由系统的动态调节,但NICE可以影响PRI
PRI(新值)=PRI(旧值)+NICE值
普通用户仅可以调整自己进程的NICE值,且范围为0-19
普通用户仅可以将优先级数值调高,如NICE=5,则用户可以调整到6-19
Root用户可以随意调整自己或他人的NICE值,且范围为-20至19

进程优先级的基本命令
nice -n对于新执行的命令,赋予指定的NICE值
renice对于已运行的进程,重新调整其优先级

基本管理命令
uptime查看系统负载
netstat查看网络接口的监听状态
a列出所有信息
n不显示进程的名称,以端口号代替
p显示网络进程的PID
l显示所有正在监听的网络服务
t显示TCP相关的数据
u显示UDP相关的数据

计划任务命令
突发性
at 一次性计划任务
格式为:at 小时:分钟 年-月-日

    at>输入命令ctrl+d提交任务at -c查看计划任务,其中后面加的是任务序号,默认从1开始atq查看计划任务列表,at -l 也可以查看计划任务atrm删除指定计划任务

特殊格式:HH:MM [am] [pm] [month] [date]
HH:MM [am] [pm] 04:00am
HH:MM yyyy-mm-dd 04:00 2020-12-01
now+count now+5minuter 04pm+ 3 days

循环任务命令
cron多次执行的计划任务
例:让系统每隔 5 分钟就向 /tmp/test 文件中写入一行“11”,可以验证一下系统定时任务是否会执行。

命令:crontab
常用选项:-e编辑计划任务
-l查看计划任务
-u查看特定用户的计划任务
-r删除所有的计划任务
格式:分 时 日 月 周 命令
注意:0和7都代表星期日
代表任意时间
-表示连续多个匹配,例28-30
,表示不连续多个匹配 例28,30
/ 规律的时间间隔 例
/5

拓展:/etc/cron.hourly
/etc/cron.daily
/etc/weekly
/etc/cron.monthly
/etc/cron.deny
我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
Linux文件系统
文件系统类型
FAT、NTFS、EXT、XFS
将一个可以挂载的数据称为文件系统而不是分区
ext文件系统组成
Inode:记录文件的属性,一个文件占用一个inode,记录此文件数据所在的区块号码
数据区块:记录文件的实际内容,若文件过大会使用多个区块
超级区块:记录当前文件系统的整体信息

数据区块
容量:区块大小 1K 2K 4K
单一文件大小 16GB 256GB 2TB
最大系统容量 2TB 8TB 16TB
特点:每个区块仅能存放一个文件的数据
如果文件过大,则一个文件需要使用多个数据区块进行存储
如果文件过小,则该区块的剩余容量会被浪费
原则上,区块大小和数量在格式化完成后不能被修改

区块组成(block group)
组成:数据区块、inode、超级区块

Inode表(多系inode记录)
文件的读写属性
文件的属主与属组
文件的大小
文件的时间属性
文件特性
文件实际内容的指向
Inode特性
每个inode大小固定为128B,ext4和xfs可以设置到256B
每个文件必须单独占用一个inode
文件系统能够建立的文件数量与inode数量有关
访问文件时,需要先找到inode及其所记录的权限与用户是否符合条件,才能读取区块的内容
Inode记录方式
直接:直接可以取得区块号码(12条)
间接:再拿一个区块充当记录区块号码的及录取,若文件太大,就会使用该方式(256条)
超级区块(1024B)
数据区块和inode的总量
已使用和未使用的inode与数据区块的数量
设定的inode与数据区块的大小
文件系统的参数(挂在时间,写入时间,检测时间等
有效位数据,挂载状态,已挂载为0,未挂载为1
文件系统描述说明
记录区块群组的开始与结束的区块,并说明每个区块(数据区块、inode表、超级区块)分别位于那个区块
区块对照表
为了快速找到空白区块
Inode对照表
为了快速找到空白的inode

XFS文件系统
组成
数据区(区块群组)
Inode、数据区块、超级区块
功能:提供记录整个文件系统的超级区块,
剩余空间的管理机制
Inode分配与追踪
区块容量为512B-64KB,默认可以使用的区块最长为4K
Inode容量为256B-2MB,默认使用512B
文件系统活动登录区
记录文件系统的变化,提供类似日志的功能
实时运行区
文件建立过程中,在该区域建立数个临时区块,建立完成后,才一起写入数据区块

查看命令
df -i 查看inode信息
-k 查看block信息
–block-size=4096查看指定大小的block信息
xfs_info选项 挂载点或设备文件名 用于查看xfs文件系统的具体信息
-d 指定应增长文件系统的数据部分
-e 指定实时范围大小
-l 指定尺寸
-n 指定不更改文件系统
-r 指定应增长文件系统的实时部分
-V 打印版本号
-t 指定备用装载表文件(默认值为/proc/装载(如果存在,则为/etc/mtab)

文件系统和目录树的关系
目录
Inode记录该目录的权限,属性及该目录对应的数据区块的号码
数据区块记录该目录下的文件名与文件名占用的inode号码
对于文件和目录数的关系
访问/etc/passwd文件的过程
通过挂载记录找到/目录的信息,并根据inode定义的权限(r,x),决定是否能够访问该区块的内容
访问/的区块:访问该区块包含的etc目录和etc目录的inode号码(16777281)
etc的inode:访问16777281号码,并根据它定义的权限(r,x)决定是否能够访问/etc目录的区块内容
访问/etc的区块:访问该区块包含的passwd文件和passwd文件的inode号码(18090437)
Passwd的inode:访问18090437号码,并根据它定义的权限(r)决定是否能够访问passwd文件的区块的内容
访问passwd文件的区块:将该区块的数据内容全部读取

软连接和硬链接文件
软连接:inode号码不同
硬链接:inode号码相同

VFS(virtual filesystem switch)虚拟文件系统交换机制
内核功能,主动帮助用户识别文件系统并做好读取前的准备工作
Linux查看支持的文件系统
查看方法:ls -l /lib/modules/(uname -r)查看系统版本号输入到这里,直接tab补齐/kernel/fs

Linux数据的备份和还原
ETX文件系统实现数据恢复
准备extundelete工具,并放入家目录
准备yum环境
umount /dev/sr0解除挂载
mount查看
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom
进入yum配置目录:cd /etc/yum.repos.d/
修改yum文件:mv CentOS-Base.repo CentOS-Base.repo.bak
修改vim CentOS-Media.repo 0改成1 1改成0
查看软件列表检查yum安装情况yum list
安装gcc编译器和ETX文件系统管理工具和环境包:yum -y install gcc* e2fsprogs-libs.i686 e2fsprogs-devel
调用归档程序解压extundelete工具包,进入家目录解压tar -jxf extundelete-0.2.4.tar.bz2
解压后进入cd extundelete-0.2.4
安装编译软件指定安装路径./configure --prefix=/usr/local/extundelete
make进行编译
make install 安装完成
创建链接文件指定在/usr/bin目录下,方面补全操作ln -s /usr/local/extundelete/bin* /usr/bin
创建一个磁盘分区/dev/sdb1,创建一个测试用的目录test,格式化分区使用ext3文件系统,并将它挂载,进入/etc/fstab
写入/dev/sdb1 /test ext3 defaults 0 0
mount -a 挂载

lsblk查看磁盘配额
在test目录中,使用vim创建几个测试文件并写入内容,cat查看文件内容,删除一部分文件
回到家目录
解除test目录挂起umount /test
extundelete /dev/sdb1 --inode 2 查看系统中指定的分区inode记录状态
使用extundelete /dev/sdb1 --restore-all 创建恢复目录
在~下进入RECOVERED_FILES查看恢复的文件内容

XFS文件系统实现数据恢复
xfsdump:支持完整备份(所有数据)和增量备份(差异数据)
注意事项:不支持没有挂载的文件系统
必须使用root权限
只能备份xfs文件系统
备份的数据,只能通过xfsrestore进行恢复
通过文件系统的UUID识别文件
常用选项:L 记录备份文件的标头(简要的备份说明)
M记录存储媒介的标头(简要的媒介说明)
l指定等级,共0-9,默认为0,即完整备份
f指定文件名或设备名,类似tar的f选项
I(大写i)列出当前备份的状态信息

实验操作
a完整备份
df -hT 查看,备份boot目录所有内容
mkdir /backup 创建文件夹
xfsdump -l 0 -L boot_all -M boot_all -f /backup/boot.dump /boot 使用完整备份,备份文件标头boot_all,媒介标头boot_all,备份到/backup中文件名叫boot.dump,要备份的目录是/boot
查看backup中的备份文件
xfsdump -I(大写i)列出备份文件信息
ls -l /var/lib/xfsdump/inventory/查看系统中生成的所有备份信息
b增量备份
dd if=/dev/zero of=/boot/test bs=1M count=100
xfsdump -l 1 -L boot_2 -M boot_2 -f /backup/boot.dump1 /boot

xfsrestore数据还原
常用选项:L 记录备份文件的标头(简要的备份说明)
M记录存储媒介的标头(简要的媒介说明)
s指定特定目录,表示仅恢复某个文件或目录
f指定文件名或设备名,类似tar的f选项
I(大写i)列出当前备份的状态信息

实验操作
a完整恢复并检查数据完整性
mkdir /tmp/boot 创建测试文件夹
xfsrestore -f /backup/boot.dump -L boot_all /tmp/boot 将backup目录中的boot.dump放入/tmp/boot
diff -r /boot /tmp/boot 查看两个文件夹内容区别
b恢复单个文件和目录
xfsrestore -f /backup/boot.dump -L boot_all -s grub2 /backup 将backup目录中的boot.dump中的grub2放入/backup中

c恢复增量备份数据
先用diff -r /boot /tmp/boot 查看两个目录区别
xfsrestore -f /backup/boot.dump1 /tmp/boot 增量/tmp/boot
diff -r /boot /tmp/boot 再次查看区别,不显示为没区别
d通过交互式操作界面恢复数据
mkdir /tmp/boot2
xfsrestore -f /backup/boot.dump1 -i /tmp/boot2
add 指定恢复的数据
extract刷新并退出

Linux搭建日志服务器
日志管理
主要日志文件
内核及系统日志:由rsyslog统一管理的日志配置文件
/var/log/boot.log:存储本次开机启动的信息
/var/log/cron:存储计划任务的执行信息
/var/log/dmesg:记录操作系统的引导过程中的所有信息
/var/log/lastlog:用户最近的登录信息
/var/log/maillog:记录电子邮件相关信息
/var/log/messages:公共日志文件
/var/log/secure:记录用户认证相关的信息
/var/log/btmp:记录失败的,错误的登录信息
/var/log/wtmp:记录用户登录,注销等相关信息

rsyslog服务/etc/rsyslog.conf
日志指向:服务名.(连接通配符) 日志级别 日志名
服务名
Kern 内核相关
User 用户空间相关
Mail 邮件相关
Demon 系统服务相关
auth 认证相关
syslog 与rsyslog相关
news 与新闻组服务器相关
uucp 早期unix程序之间数据交换相关
cron 计划任务相关
authpriv 与auth类似,记录较多账号的私人信息
ftp 与ftp协议相关
local0-local7 保留给本地用户使用的日志信息
*代表所有
日志级别
Debug(调试) 用来确认debug信息时使用的数据
Info(信息) 基本信息
Notice(注意) 不影响正常功能,但需要注意的信息
Warn(警告) 可能影响系统功能,必须注意的信息
Err(错误) 运行出现错误
Crit(严重) 比较严重的错误
Alert(严重警告) 更严重的错误
Emerg(紧急) 最高错误级别,可能导致系统不可用
连接符
. 比指定级别更严重的信息都要记录(包含指定级别)
.= 记录指定级别的信息
.! 除指定级别外的信息,全都记录

日志服务器
日志服务器作用:保存日志
日志客户端:提供本地日志到服务器

实验操作方法
搭建日志服务器,准备2台虚拟机
首先修改主机名,到达分辨的目的
hostname server.hr.com
hostname client.hr.com
修改虚拟机ip地址:vim/etc/sysconfig/network-scripts/ifcfg-ens33
在最后增加ip地址IPADDR=192.168.1.1子网掩码NETMASK=255.255.255.0
BOOTPROTO=dhcp修改成static静态的,并保存退出
ifdown ens33 关闭网卡 ifup ens33 重启网卡
ping ip查看是否联通
服务器端进入配置文件vim/etc/rsyslog.conf
set nu 显示行号
取消15、16、19、20行的注释符#,保存并退出
15、16表示允许通过UDP协议传输日志信息,
19、20表示允许通过TCP协议传输日志信息
重启rsyslog服务 systemctl restart rsyslog.service
查看netstat -nplt、netstat -nplu TCP和UDP
临时关闭防火墙systemctl stop firewalld
临时关闭selinux:setenforce 0
安全起见临时关闭iptables -F

客户端进入配置文件 vim/etc/rsyslog.conf
.代表所有服务所有信息 @192.168.1.1表示使用UDP协议传输日志信息,@@192.168.1.1表示使用TCP协议传输日志信息。
修改文件内容:
.
@@192.168.1.1
重启rsyslog服务:systemctl restart rsyslog.service
重启计划任务,测试日志信息:systemctl restart cond.service
进入服务器客户端输入:vim /var/log/messages 检查是否有client发过来的信息

拓展知识:Logrotate
Logrotate程序是一个日志文件管理工具。用来把旧的日志文件更名或删除,并创建新的日志文件,我们把它叫做“转储”。是个使日志轮替的程序,有了它就不用看着自己的日志体积一天天的变大,而可以根据你自己的需求来设定日志转储。
logrotate配置文件路径:/etc/logrotate.conf /etc/logrotate.d/ 下面放置自定义的一些配置文件。
参数 功能

Linux网络基础
查看网络参数命令
查看网卡信息命令
ifconfig 网络接口名
ens33:是linux本地第一块以太网卡,en表示ethernet以太网卡,s表示热插拔网卡,p表示pci独立网卡,o表示主板集成网卡,数字表示mac+主板信息生成的标识符(唯一的网卡序号)
使用ifconfig查看到的信息中,inet表示ip地址,netmask表示子网掩码,inet6表示ipv6地址,enther表示mac地址
查看主机名命令
Hostname
修改主机名命令 hostname cui~

查看主机路由表命令route -n使用route -n命令查看的信息包括,destination表示目标地址,gateway表示网关地址,genmask网关子网掩码,interface表示网络接口名称查看网络连接端口情况命令netstat -r(表示路由表信息)a列出所有信息n不显示进程的名称,以端口号代替p显示网络进程的PIDl显示所有正在监听的网络服务t显示TCP相关的数据u显示UDP相关的数据获取socket统计信息(也是查看网络连接情况)ss     -t查看TCP相关的数据u查看UDP相关的数据p查看进程信息l只显示处于监听状态的接口信息n不解析服务名称,仅显示端口数字a显示完整信息(端口、连接状态等)r不显示端口数字,仅显示名称测试网络连接命令pingctrl+c打断测试网络连接中常用故障英文解释Network is unreachable 网络不可达,没有可用的路由或网关记录Destination is unreachable 目标主机不可达,目标主机不存在或主机已关闭Request timeout 请求超时,防火墙或其他规则限制导致无法访问
测试到目标主机之间经过多少个网络节点命令Traceroute                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 格式为traceroute 目标主机
域名解析命令nslookup 列出较为简要信息dig列出较为全面信息

设置网络参数命令
修改方式:临时生效——命令
永久生效——配置
网络接口临时修改命令
ifconfig 网络接口名 ip地址 netmask(子网掩码)

			ifconfig 网络接口名 ip地址/子网掩码ifconfig 网络接口名:虚拟接口 ip地址 netmask(子网掩码)
网络接口永久生效修改命令进入/etc/sysconfig/network-scripts/ifcfg-ens33配置文件中必要的英文解释TYPE 网卡类型BOOTPROTO 获得网络参数,static、none手动配置,dhcp动态配置DEVICE 设备名 必须和NAME名一样ONBOOT 自动启动IPADDR  ip地址NETMASK 子网掩码GATEWAY 网关DNS1、DNS2 域名服务器

配置完成后重启网络服务systemctl restart network.service
ifdown ens33 关闭网卡
ifup ens33 开启网卡
拓展知识:虚拟网卡接口如何永久生效
路由配置命令
路由接口临时生效命令
添加指定route add -net目标网段/目标子网掩码长度 gw 网关地址
删除指定route del -net 目标网段/目标子网掩码长度
添加默认route add default gw 网关地址
删除指定route del default gw 网关地址
跨网络通信时,才需要设置网关或路由
路由接口永久生效命令
/etc/sysconfig/network-scripts/ifcfg-ens33
输入GATEWAY增加网关信息
修改主机名命令
主机名临时生效命令
hostname FQDN(完全合格域名)名称
bash启动新shell
扩展知识hostnamectl
hostnamectl可用于查询和更改系统主机名和相关设置。此工具区分三种不同的主机名:高级“漂亮”主机名,其中可能包括特殊字符(例如“lennart’s laptop”),静态主机名,用于在引导时初始化内核主机名。(例如,“lennarts膝上型电脑”),以及从网络配置接收到的默认瞬时主机名。如果是静态的主机名已设置且有效(不是localhost),则不使用临时主机名。

					--static--transient--pretty

在CentOS7中有三种定义的主机名:
静态的(static)、瞬态的(transient)、和灵活的(pretty)。
静态主机名也称为内核主机名,是系统在启动时从/etc/hostname内自动初始化的主机名。
瞬态主机名是在系统运行时临时分配的主机名。
灵活主机名则允许使用特殊字符的主机名。
主机名永久生效命令
vim /etc/hostname
域名解析命令
永久生效 /etc/resolv.conf
本地主机映射文件 /etc/hosts
域名解析优先使用本地主机映射文件
本地主机映射文件仅对当前主机生效
本地主机映射文件可以提高访问速度,减少对DNS的访问
TCPwrappers
作用:基于TCP协议的安全机制,可以对部分网络服务进行访问控制
配置文件 /etc/hosts.allow允许访问
/etc/hosts.deny 拒绝访问
格式
服务列表:主机列表
sshd:192.168.1.100
应用规则
表示网段时,可以使用下列格式
192.168.1.
192.168.1.0/255.255.255.0
192.168.1.0/24 (centos6中默认不支持)
表示所有网段或服务时,使用ALL
表示域名时,可以使用.hr.com
可以使用通配符* ?
特殊情况
先allow,后deny
默认情况下,允许所有服务访问
允许个别,拒绝所有时,在deny文件中添加 服务名:ALL
拒绝个别,允许所有时,allow文件中必须为空

Linux设置DHCP

DHCP定义:动态主机配置协议
DHCP优势:减少管理员工作量
避免人为错误
避免ip地址冲突
减少重复工作
提高ip地址利用率
方便客户端配置
服务器优势:小型网络使用路由器交换设备,大型网络使用服务器配置。
网络设备的主要功能不是DHCP
配置、管理、备份、服务器都比网络设备要易用
数据迁移
DHCP的工作原理
客户端在网络中搜索服务器
发送DHCPdiscover包(发送信息包括:源IP地址0.0.0.0,源MAC地址就是本机MAC地址,目标地址255.255.255.255
服务器端向客户端响应服务
发送DHCPoffer包(发送信息包括:目标MAC地址,也就是客户端MAC地址,源ip地址:服务器ip地址,源MAC地址:服务器MAC地址,提供IP地址:服务器地址池中的IP地址
客户端向目标服务器发出服务请求
接受第一个到达的DHCPoffer包,客户端发送DHCPrequest包,通告所有服务器,其接受的DHCPoffer包,通过ARP广播,检测服务器提供的该地址是否可用,可用则进行下一步,不可用则重新发送DHCPdiscover包
服务器向客户端提供服务
服务器发送DHCPack包,提供地址信息等网络参数,客户端接受并配置网络参数。不可用,服务器发送DHCPnack包,客户端需重新发送DHCPdiscover
特殊情况
客户端搜索服务器时,若无响应,则多次发送
客户端重新登陆时,发送DHCPrequest包,请求之前的网络参数。可用发送,服务器发送DHCPack包。不可用发送,服务器发送DHCPnack包
更新租约:租约时间为一半时(50%)向服务器发送DHCPrequest包,要求更新租约客户端,租约时间再过一半时(75%)再次向服务器发送DHCPrequest包,要求更新租约客户端,如无应答,则不在发送,直到租约到期,释放地址,重新DHCPdiscover。
DHCP配置实验
准备三台虚拟机
服务器配置
配置ip地址vim /etc/sysconfig/network-scripts/ifcfg-ens33,修改静态获取,设置开机启动,增加ip地址和子网掩码
ifdown ens33关闭网卡 ifup ens33重启网卡,ifconfig查看ip设置情况
将网卡网络选择自定义网络
关闭三台主机的防火墙、selinux和iptables -F防火墙(默认没有开启,以防万一再关闭一次)
搭建yum环境,yum list查看安装情况 安装成功保存快照
使用yum安装dhcp软件包
进入Vim /etc/dhcp/dhcpd.conf,发现没有东西,参考上面模板进行复制,操作如下
cp /usr/share/doc/dhcp*(*代表版本号,使用tab补齐进行输入)/dhcpd.conf.exqmple /etc/dhcp/dhcpd.conf
vim进入/etc/dhcp/dhcpd.conf,末行模式下显示行号,开启UDP67号端口(用于接受客户端的请求)和UDP68号端口(用于向客户端发送请求成功或失败的回应
主配置文件内容包括:
全局配置:对整个服务器生效
网段声明(subnet):对特定网段生效
主机声明 (host):对特定主机生效
option选项
domain-name DNS服务器的域
domain-name-servers DNS服务器列表
default-lease-time默认租约时间/秒为单位
max-lease-time最大租约时间/秒为单位
range地址池
routers网关地址
broadcast-address广播地址
在subnet中写入ip网段192.168.1.0 子网掩码255.255.255.0
在range地址池中写入分配区间192.168.1.10 192.168.1.100(中间用空格隔开)
因为实验环境不需要域和域名还有广播地址,所以将他们删除,然后保存并退出
输入systemctl start dhcpd.service开启服务
systemctl starus dhcpd.service查看服务开启状态,active表示激活状态
start开启服务
stop关闭服务
restart重启服务
status查看状态
disable开机不启动
enable开机自启动
reload重新加载配置文件
host别名(可以更改){
hardware ethernet保留主机的MAC地址,fixed-address为主机保留的IP地址或域名
}

进入模拟的路由器主机,修改其中一块网卡信息,网卡必须和其同属一个网段内,否则实验失败(不在一个网段需设置网关),将BOOTPROTO选项设置成动态获取dhcp,关闭网卡并重启,ifdown ens33 ifup ens33
然后ifconfig查看修改的网卡状态,发现ip地址已修改为设置的区间地址的最小值,操作成功,反之操作失败。
在生产环境中,有些设备需要固定ip,设置方法为
进入vim /etc/dhcp/dhcpd.conf
在host中输入路由器的mac地址和设置的固定ip地址192.168.1.150保存并退出
回到路由器主机中,ifdown ens33 ifup ens33 重启网卡
ifconfig查看IP设置信息
结论:主机声明比网段声明的优先级要高
服务器端中继配置
进入vim /etc/dhcp/dhcpd.conf 声明两个网段,第一个为192.168.1.0 255.255.255.0 地址池区间设置为192.168.1.50-192.168.1.100 dns服务器设置为192.168.1.254 网关地址设置为192.168.1.254
复制第一个内容进行修改,第二个为192.168.2.0 255.255.255.0 地址池区间为192.168.2.50-192.168.2.100 dns服务器设置为192.168.2.254 网关地址设置为192.168.2.254
设置完成保存并退出,重启DHCP服务器systemctl start dhcpd.service
进入网卡设置网关GATEWAY=192.168.1.254

配路由器配置
配置两块网卡,分别设置ip和子网掩码,一块网卡的ip和服务器ip需在同一网段内192.168.1.254,另一块网卡放在另外一个自定义网络中,第二个网卡设置前先进行cp复制网卡信息,删除uuid,并设置不同网段192.168.2.254,修改网卡名称
Ping第一台主机和第三台主机,进行联通性测试,确保互联互通
关闭三台主机的防火墙、selinux和iptables -F防火墙(默认没有开启,以防万一再关闭一次)
生产环境中防火墙不能关闭。
搭建yum环境,yun list查看安装情况 安装成功保存快照
路由器端中继配置
开启路由转发功能进入vim /etc/sysctl.conf 输入路由转发功能net.ipv4.ip_forward=1(参数可以找资料查询)
Sysctl -p 刷新内核参数
开启中继功能
中继也是dhcp的一部分,需要安装dhcp软件包
dhcrelay(中继命令)指定DHCP服务器ip地址192.168.1.1
客户端将网卡获取网络参数修改为动态获取 BOOTPROTO=dhcp
客户端重启网卡,ifconfig查看网络参数,如果是2.0网段说明中继跨网段成功
路由器端输入dhclient -d ens33 使用ens33网卡监测服务器获取信息
第三台主机配置(客户端)
设置ip地址192.168.2.1 子网掩码255.255.255.0 重启网卡
关闭三台主机的防火墙、selinux和iptables -F防火墙(默认没有开启,以防万一再关闭一次)
搭建yum环境,yun list查看安装情况 安装成功保存快照
安装dhcp软件包
复制模版cp /usr/share/doc/dhcp*(*代表版本号使用tab补齐进行输入)/dhcpd.conf.exqmple /etc/dhcp/dhcpd.conf

Linux设置DNS
概述
定义:DNS域名服务(domain name server)
作用:域名解析,分为正向解析和反向解析
正向解析:域名→IP地址
反向解析:IP地址→域名
域名:完全合格的域名FQDN
例:www.hr.com www代表主机名 hr.com代表所在的域
域管理组织:IANA(早期)
ICANN(现在)互联网名称与数字地址分配机构
域名管理:
通过文件服务器共享主机映射文件
C/S架构的域名服务器
分布式存储的域名服务器
缺点:访问时间长
管理难度大
优点:命名简单
维护高效
域名分类:分为一级域、二级域、三级域、主机名、组织域、国家域
组织域:.com .net .org
国家域:.cn .us .hk .tw
解析方式:
递归:必须使用准确的查询结果返回给客户端(访问压力在服务器端)
迭代:不直接返回查询结果(访问压力在客户机端)
DNS类型分为:缓存域名服务器、主域名服务器、从域名服务器
域名服务器参数配置
需要使用yum安装软件bind
服务名:named
端口:TCP 53 主球稳定性,数据同步(主从同步)
UDP 53 用来提供数据通信(域名解析)
配置文件:
主配置文件:/etc/named.conf服务器的运行参数
区域文件:/etc/named.rfc1912.zone当前DNS服务器所支持的域 hr.com
数据文件:/var/named.xxx.xxx 主机名和IP地址的对应关系 www.hr.com
主域名服务器操作设置
进入/etc/named.conf
主要修改listen-on port53(服务器的监听地址列表)
allow-query(可以访问的客户端地址列表) any代表任意地址
/etc/named.rfc1912.zones设置参数中zone代表指定区域、type代表类型、master代表主服务器、slave代表从服务器、file指定数据文件的位置和名称
正向解析区域的域名:hr.com 反向解析区域的域名:1.168.192.in-addr.arpa网络位反写
/var/named/xxx.xxx复制模板文件时使用-p保留文件属组为named
SOA 起始授权记录
括号中的内容包括
0 序列号 代表此文件的修订号
1D刷新间隔 代表从DNS服务器查询更新前的等待时间
1H重试间隔 代表从DNS服务器更新失败后的等待时间
1W过期时间 代表从DNS服务器为客户端解析的过期时间
3H 最小TTL 代表所有资源记录的生存时间
NS 指定DNS服务器的域名
MX指定邮件服务器的域名,需要设定优先级
A正向跳转指针
PTR反向跳转指针

实验操作设置主域名服务器
第一步:安装yum配置ip地址
第二步:yum -y install bind 使用yum安装bind软件包
第三步:vim /etc/named.conf进入主配置文件,修改服务器的全局运行参数
第四步:修改listen-on port53(服务器的监听地址列表)添加服务器IP地址192.168.1.1
第五步:修改allow-query(可以访问的客户端地址列表) 修改为any,any代表任意地址
第六步:进入区域文件vim /etc/named.rfc1912.zone当前DNS服务器所支持的域
第七步:修改文件zone指定区域正向解析区域域名为hr.com 修改file数据文件的名称为zheng.hr.com
第八步:再次修改区域文件第二个zone指定区域反向解析区域域名为1.168.192.in-addr.arpa(网络位需要反写) 修改file数据文件的名称为fan.hr.com 设置完成后保存退出
第九步:使用复制模板设置数据目录 cd /var/named cp -p named.localhost zheng.hr.com
cp -p named.localhost fan.hr.com使用-p选项保留权限
第十步:vim zheng.hr.com打开正向文件修改文件内容,其中SOA叫做起始授权记录(用来声明里面的设置是给服务器进行授权的)后面的@符号代表域名(为哪个域进行解析)修改为hr.com.(注意补齐小数点),后面的英文为管理员邮箱,因为没有,所以用默认值就可以,不需要修改。英文后面有个括号,括号中的内容用来做主从同步需要的参数配置0序列号(代表此文件的修订号)、1D刷新间隔(代表从DNS服务器查询更新前的等待时间)、1H重试间隔(代表从DNS服务器更新失败后的等待时间)、1W过期时间(代表从DNS服务器为客户端解析的过期时间)、3H最小的TTL(代表所有资源记录的生存时间)。
设置DNS记录,修改NS(指定DNS服务器的域名)dns.hr.com.
设置邮件记录,新增MX(指定邮件服务器的域名,需设定优先级)MX 3 mail.hr.com.
设置域名对应ip记录 dns A 192.168.1.1 其中A代表正向跳转指针
设置邮件对应ip记录 mail A 192.168.1.2
设置网站对应ip记录 www A 192.168.1.3
第十一步:vim fan.hr.com打开反向文件修改文件内容,修改SOA域名解析地址为hr.com. 修改NS(指定DNS服务器域名)dns.hr.com 设置邮件记录,新增MX(指定邮件服务器的域名,需设定优先级)MX 3 mail.hr.com
设置反向跳转指针1 PTR(反向跳转指针) dns.hr.com. 其中1代表主机位
设置反向跳转指针2 PTR(反向跳转指针) mail.hr.com.
设置反向跳转指针3 PTR(反向跳转指针) www.hr.com.
第十二步:systemctl start named.service 开启服务,没报错,操作没毛病,反之自己查看一手子日志 vim /var/log/message
第十三步:nslookup 输入www.hr.com查看地址解析状态,在输入ip地址192.168.1.1进行反向地址解析
第十四步:进入客户机,vim/etc/sysconfig/network-scripts/ifcfg-ens33指定网卡DNS信息,DNS1=192.168.1.1保存并退出 ifdown ens33 ifup ens33 重启网卡后输入nslookup进行正向反向地址解析www.hr.com或192.168.1.1、2、3测试。
第十五步:换一台虚拟机用做搭建网站服务器,将ip地址修改为192.168.1.3 使用YUM安装网站服务器yum -y install httpd cd进入/var/www/html vim进入/index.html输入hello world保存并退出,然后重启服务systemctl start httpd.service
第十六步:进入DNS服务器字符客户端,利用火狐浏览器输入网站服务器IP地址,显示为hello world 说明操作成功。
实验操作设置从域名服务器
作用:减轻主服务器的工作压力 “一主多从”依赖于主服务器
第一步:从服务器端安装bind
第二步:修改主配置文件vim /etc/named.conf 修改listen-on port53(服务器的监听地址列表)添加服务器IP地址any 修改allow-query(可以访问的客户端地址列表) 修改为any,any代表任意地址
第三步:进入区域配置文件,删除多余配置文件,修改文件zone指定区域正向解析区域域名为hr.com type类型改为slave(从服务器)在type下面增加masters {192.168.1.1;};告诉其指定主服务器IP地址 file文件改为slaves/hr.localhost 修改文件zone指定区域反向解析区域域名为1.168.192.in-addr.arpa type类型改为slave(从服务器)在type下面增加masters {192.168.1.1;};告诉其指定主服务器IP地址 file文件改为slaves/hr.localback 注意从模式下要删除allow-update{none;};否则报错失败
第四步:进入主域名服务器,vim /etc/named.conf进入主配置文件,修改服务器的全局运行参数 在下面新增allow-transfer {192.168.1.254;};允许传输给哪个地址或哪个网段都可以,保存退出
第五步:重启主域名服务器 systemctl restart nemed.service
第六步:开启从域名服务器 systemctl start nemed.service
第七步:ls /var/named/slaves查看从主服务器的得到的配置文件
第八步:选择一台虚拟机进行网卡设置将IP地址设置为192.168.1.3 DNS地址设置为从服务器地址192.168.1.254 重启网卡
第九步:nslookup 输入www.hr.com查看解析结果
结论:通过实验得出,主服务器需要添加allow-transfer
从服务器需要添加/etc/named.rfc1912.zones
Type slave;
File slaves/“数据文件“;
Masters{主服务器地址;};
删除allow-update{none;};
高速缓存服务器
作用:减少DNS解析的过程,保存解析记录直接提供给客户端
在著配置文件中加一条命令 forwarders {其他服务器地址;};当有客户端需要解析的时候,通过这条命令进行转发,并将处理结果保留在缓存中,下次用户调用直接给

分离解析
进入DNS服务器,使用yum安装bind软件包
DNS服务器设置两块网卡,两个网段,一个为内网ip192.168.1.254 一个为外网ip192.168.2.254,内网网段为vmnet5 外网网段为vmnet10
Vim/etc/named.cfg 修改主配置文件修改为any
Linsten-on port 53 {any;};
Allow-query {any;};
注释掉区域文件#include “/etc/named.frc1912.zones”;
#include “/etc/named.root.key”;
并写入 指定一个区域(内网区域),名字叫做lan,
view lan {
match-clients {192.168.1.0/24;};(声明这个区域的内容允许那个网段进行访问)
zone “.” IN {
type hint;
file “named.ca”;
}; zone(声明的是根dns,保留不做修改)
并在下面写入单独的区域文件
include “/etc/named.lan”;(内网区域文件)
};
复制上面信息写入外网区域文件,指定一个区域(外网区域),名字叫做wan。
view wan {
match-clients {192.168.2.0/24;};(声明这个区域的内容允许那个网段进行访问或者写any)
zone “.” IN {
type hint;
file “named.ca”;
}; zone(声明的是根dns,保留不做修改)
并在下面写入单独的区域文件
include “/etc/named.wan”;(外网区域文件)
};
保存并退出
设置两个区域文件,并拷贝模板文件
Cp -p /etc/named.rfc1912.zones /etc/named.lan
Cp -p /etc/named.rfc1912.zones /etc/named.wan
进入区域文件,删除多于内容修改内网正向反向解析
zone “hr.com” IN {
type master;
file “lan.zheng”;
allow-update { none; };
};

zone “1.168.192.in-addr.arpa” IN {
type master;
file “lan.fan”;
allow-update { none; };
};
修改完内网配置文件,保存并退出
进入区域文件,删除多于内容修改外网正向反向解析
Vim /etc/named.wan
zone “hr.com” IN {
type master;
file “wan.zheng”;
allow-update { none; };
};

zone “2.168.192.in-addr.arpa” IN {
type master;
file “wan.fan”;
allow-update { none; };
};
修改完外网配置文件,保存并退出
进入数据文件目录cd /var/named/
复制数据模板cp -p named.localhost lan.zheng
cp-p named.localhost lan.fan
使用vim进入lan.zheng 写入数据
因为DNS服务器有两块网卡,我们设置的lan.zheng ,是内网网段,所以DNS设置的是192.168.1.254,设置完成后,保存并退出。
使用vim进入lan.fan反向文件写入数据
设置完成后,保存并退出
使用模板复制外网的正向反向解析数据文件
cp -p named.localhost wan.zheng
cp -p named.localhost wan.fan
使用vim修改外网的正向解析文件
修改DNS地址为外网dns地址和外网ip
使用vim修改外网的反向解析文件
保存并退出
启动服务 systemctl start named.service
进入客户机进行解析,先配置DNS地址,内网192.168.1.254 外网192.168.2.254 使用命令nslookup 输入www.hr.com 内网用户应该解析为1.0网段,外网用户应该解析为2.0网段。
Linux远程访问及控制
概述
定义:SSH:secure shell协议
是一种安全通道协议,对通信数据进行加密,用于远程管理。
Telnet是一种明文管理机制,不加密
服务名:sshd
端口号:22端口
主配置文件:/etc/ssh/sshd_config
常用选项解释
Port 22 代表端口号
Listenaddress 代表监听地址
Portocal 代表协议版本
Permitrootlogin 代表是否允许root用户登录
Maxauthtries 代表最大重试次数
Permitemptypasswords 代表禁止空密码登录
Passwordauthentication 代表启用密码验证
Pubkeyauthencation 代表启用密钥对验证
Authorizedkeysfile 代表指定密钥对使用的库文件
Allowusers 允许特定用户登录
Denyusers 拒绝特定用户登录(和允许选项两个不能同时使用)
SSH基础配置
命令
ssh 远程安全登录
格式:ssh用户名@目标服务器地址
scp 远程安全复制
格式:下载:scp 用户名@目标服务器地址:目录名/文件名 本地路径
上传:scp 本地路径 用户名@目标服务器地址:/目录名
注:上传和下载需要注意当前使用的用户权限是否能够操作指定的目录
sftp 安全FTP(提供交互式界面)
格式:sftp 用户名@目标服务器地址
put 上传
get 下载
bye 退出
当访问的端口被更改时,需要加-p选项
格式:ssh -小p 端口号 用户名@目标服务器地址:目录名/文件名 本地路径
scp -大P 端口号 用户名@目标服务器地址:目录名/文件名 本地路径
sftp -大P(centos6不能使用) 端口号 或sftp -oport 端口号
ssh验证方式有两种
用户名/密码验证
密钥对验证
密钥对验证实验操作方法
准备两台虚拟机,修改用户名用于加以区分
分别创建一个用户(用哪个用户进行操作的,生成的就是那个用户的密钥对)
其中服务器端叫service
客户端切换到创建的用户上,并在客户端创建密钥对,使用命令ssh-keygen -t(指定算法)ecdsa(实验操作用的算法)
输入命令后,第一个选项为生成密钥对的默认路径,一般使用默认选项,enter直接下一项。第二个选项为密钥对设置密码短语,默认不配置,enter确认,第三个选项为再次输入密钥对的密码短语,因为没设置直接enter确认。
进入生成的密钥对目录cd /root/.ssh/ ls查看生成的两个文件,.pub为公钥文件,没有扩展名的为私钥文件
将公钥文件上传给服务器端scp id_ecdsa.pub root@192.168.1.1:/tmp 输入密码完成配置
进入服务器端使用root用户登录并创建一个目录mkdir /home/service/.ssh(service是服务器端创建的用户)进入/tmp目录下,使用cat命令重定向公钥文件放入/home/service/.ssh/authorized_keys
具体命令操作方法为:cat id_ecasa.pub >> /home/service/.ssh/authorized_keys
重定向成功后,tail查看tail /home/service/.ssh/authorized_keys文件内容
进入主配置文件/etc/ssh/sshd_config打开密钥对选项,关闭用户名密码验证(也可以不管他,因为密钥对的优先级要比用户名密码验证要高,一般要求严谨还是关掉为好)打开密钥对Pubkeyauthencation保存并退出
重启sshd服务 systemctl restart sshd.service
进入客户机使用命令 ssh service@192.168.1.1进行访问,成功则不需要密码,反之则失败。

加密技术知识浅讲
定义:
对原文的明文的文件或数据按照特定算法进行处理,使其成为不可读的密文信
原理:分为移动法和替换法
目的:
保密性:防止用户的信息或数据被读取
数据完整性:防止数据的传输过程中被劫持及修改
身份验证:确保数据来自特定的身份
分类:
对称加密:加密和解密使用同一个密钥
非对称加密:加密和解密使用一对密钥
单向加密:只能加密不能解密

Linux NFS共享权限
NFS
定义:网络文件系统
依赖于RPC(远程过程调用)机制
作用:NFS属于文件系统之上的抽象层,允许远程客户端以类似操作本地文件系统的方式,访问网络资源。
功能:提供透明的文件访问及文件传输
扩展性好,扩展新资源时不需要改变现有工作环境
高性能,配置灵活
NFS是随机端口没有固定的端口
配置
安装软件包yum -y install nfs-utils rpcbind
先启动Systemctl enable rpcbind
在启动Systemctl enable nfs
设置共享
创建测试文件夹Mkdir /opt/www
进入配置文件Vim /etc/exports
写入/opt/www1 192.168.1.0/24(rw,sync)
/opt/www2 192.168.1.0/24(rw,sync)
Systemctl start nfs
Systemctl start rpcbind
Showmount -e
客户端访问设置
yum -y install nfs-utils rpcbind
Systemctl start rpcbind
Systemctl enable rpcbind
Showmount -e 服务器ip地址
Mount 服务器ip:/共享目录 本地目录
进入/etc/fstab
写入服务器ip:/共享目录 本地目录 nfs defaults,_netdev 0 0
写入时注意权限
常用的挂在参数 ro:目录只读
rw:目录读写
sync:将数据同步写入磁盘缓冲区与磁盘,效率较低,但可以保持数据的一致性
async:将数据先保存在缓存区,必要时才写入磁盘
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与root_squash相反
映射网络驱动器:使用的是NETbios协议的139端口

FTP
定义:文件传输协议
作用:提供跨平台的文件共享
连接类型:命令连接和数据连接
命令连接:传输指令,客户端发送请求,服务器端响应
默认情况下,该连接会一直保持
数据连接:传输数据,按需打开,按需关闭
也支持同时打开多个连接
工作模式:分为主动模式和被动模式
不同的工作模式需要不同的端口:
主动模式:
命令连接:客户端:N端口
服务器:21端口
数据连接:客户端:N+1端口
服务器:20端口
被动模式:
命令连接:客户端:N端口
服务器:21端口
数据连接:客户端:N+1端口
服务器:随机端口
验证类型
匿名验证
本地用户验证
虚拟用户验证

FTP基础配置
软件:vsftpd
服务名:vsftpd
主目录:/etc/vsftpd
Vim /etc/vsftpd/vsftpd.conf主配制文件
用户权限文件:/etc/vsftpd/ftpusers /etc/vsftpd/user_list
常见的参数
Anonymous_enable 是否启用匿名用户验证
Local_enable 是否启用本地用户验证
Anon_upload_enable匿名用户上传
Anon_mkdir_write_enable匿名用户上线创建目录
Anon_other_write_enable 匿名用户的其他写入权限
Chroot_local_user 禁锢家目录,并在其下面增加选项allow_writeable_chroot(vsftepd)允许有写入权限的情况下使用chroot
Allow_writable_chroot(vsftpd-ext)centos6中使用
扩展:banner_file
Chroot_list_enable
Chroot_list_file
Write_enable
Ftpd_banner
Userlist_enable
被动模式:pasv_enable=YES
Pasv_min_port=
Pasv_max_port=
虚拟用户验证:guest_enable
Successful成功
Failed失败
Transfer Complete传输完成
Permission denied 权限被拒绝

匿名用户验证
使用的用户名:anonymous或ftp
密码:默认空密码
默认访问工作目录:/var/ftp
默认本地工作目录:当前目录
默认权限:只读权限(仅能下载)
匿名用户写入时,修改/var/ftp/中的子目录的写入权限或属主,/var/ftp目录root用户必须要有写权限
本地用户验证
用户名:系统用户名(useradd)
密码:系统用户密码(passwd)
默认访问的工作目录:登录用户的家目录
默认本地的工作目录:当前目录
默认权限:读写权限(上传、下载、修改等)
权限文件:userlist_enable=YES
userlist_deny=YES
禁止/etc/csftpd/user_list文件中出现的用户名登录FTP服务器

userlist_enable=YES
userlist_deny=NO
仅允许/etc/csftpd/user_list文件中出现的用户名登录FTP服务器

				  /etc/vsftpd/ftpusers禁止/etc/vsftpd/ftpusers文件中出现的用户名登录FTP服务器,无论userlist如何设置。

LinuxPXE高效批量网络装机
PXE概述
定义:预先启动的执行环境
条件:服务器端:DHCP
TFTP(小文件传输机制)
提供安装源FTP、NFS、HTTP
客户端:网卡必须支持PXE协议
主板必须支持网络启动
优势:
规模化
自动化
远程实现
PXE网络装机
原理
基本配置
配置DHCP
首先关闭防火墙
Yum -y install dhcp
进入配置文件Vim /etc/dhcp/dhcpd.conf
复制模板cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
进入/etc/dhcp/dhcpd.conf修改配置信息,具体操作如下
Subnet 192.168.1.0 netmask 255.255.255.0{
Range 192.168.1.100 192.168.1.200;
Option subnet-mask 255.255.255.0;
Default-lease-time 600;
Max-lease-time 7200;
Next-server 192.168.1.1;
Filename ”pxelinux.0”;
}
重启服务Systemctl start dhcpd
设置开机启动Systemclt enable dhcpd
配置TFTP
Yum -y install tftp-server
进入修改配置文件Vim /etc/xinetd.d/tftp
Server_args=-s/var/lib/tftpboot TFTP的数据目录
Disable=no 启用TFTP
重启服务Systemctl start tftp.socket
设置开机启动Systemctl enable tftp.socket
配置SYSLINUX
Yum -y install syslinux
Cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
Mkdir -p /var/lib/tftpboot/pxelinux.cfg
配置FTP
Yum -y install vsftpd
Mkdir /var/ftp/centos7
Umount /dev/sr0
Mount /dev/sr0 /var/ftp/centos7
Cd /var/ftp/centos7/isolinux
将光盘中的引导程序复制Cp /var/ftp/centos7/isolinux/* /var/lib/tftpboot
Systemctl start vsftpd.service
Systemctl enable vsftpd.service
复制引导程序配置参数isolinux.cfg到pxelinux.cfg改为默认名字即可
Cp /var/ftp/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
进入/var/lib/tftpboot/pxelinux.cfg/default
64行添加method=ftp://192.168.1.1/centos7/声明服务器地址软件从哪里来(避免改错,复制一个,进行注释,留作后用)
cd 进入/etc/yum.repos.d vim centos-media.repo声明文件所在位置file:///var/ftp/centos7
无人值守设置
需要借助图形化软件,首先切换到图形界面
yum -y install system-config-kickstart(字符界面,无法安装)
安装完成后直接敲命令会得到一个图形界面System-config-kickstart
具体操作方法,见下图,设置完保存配置
在家目录中会生成一个ks.cfg的文件,vim进入后,所显示的就是我们设置的图形界面设置的参数
家目录中有一个anaconda-ks.cfg文件(这个文件是系统安装生成的所有配置文件)
Vim进入 anaconda-ks.cfg,将里面的软件包配置信息重定向到/root/ks.cfg
:34,55 w >> /root/ks.cfg
进入ks.cfg查看重定向结果

Cp /root/ks.cfg /var/ftp/
进入Vim /var/lib/tftpboot/pxelinux.cfg/default
告诉文件位置
65行添加method=ftp://192.168.1.1/centos7/ ks=ftp://192.168.1.1/ks.cfg
重启的时候按esc键,使用网络获取重装系统

进入Vim /var/lib/tftpboot/pxelinux.cfg/default
跳到最上面可以加入default linux的选项,代表标签名称,默认从这开始装机
default linux 可以默认进入label linux的配置

图形化设置方法

Linux shell脚本基础
Shell特性
查看shell类型
cat/etc/shells 查看系统支持的shell
echo $SHELL 查看系统当前使用的shell
历史命令
history查看shell中保存的用户执行过的命令历史
echo $HISTSIZE 查看历史命令的最大条目数
echo $HISTFILE 查看历史命令的存储文件
echo $HISTFILESIZE 查看文件中的历史最大条目数
history -c清空历史命令
history -d 删除指定的历史命令
history -r 从文件中读取历史命令到内存
history -w 将内存中的历史命令保存到指定文件

!数字: 表示重新执行历史命令中第数字条命令
!字符串: 重新执行最近的一条以指定字符串开头的命令
!!:重新执行最新的历史命令(重新执行上一条命令)
先ESC在.或! 重新调用上一条命令的参数(例 c a t ! 重新调用上一条命令的参数(例cat ! 重新调用上一条命令的参数(例cat

命令结果状态查询
echo $?
0 代表命令执行成功
非0代表命令执行失败
命令引用
“”:弱引用,保留其内部字符的特殊含义,双引号解释变量
‘ ’:强引用,将其内部字符皆视为一般字符,单引号,无特殊含义,不解释变量,如果非要用单引号,’’ ’’双单引号也可以解释变量
:命令引用,将其内部字符视为命令进行处理
date:显示或修改系统时间
+%Y 年
%m 月
%d 日
%H 小时
%M 分钟
%S 秒
%F 类似%Y-%m-%d
%T 类似%H-%M-%S
修改时间格式:date月日时分年.秒
date -s “年-月-日 时:分:秒”
hwclock 查看或修改硬件时间
hwclock -s软件时间同步到硬件时间,以硬件时间为基准
hwclock -w硬件时间同步到软件时间,以软件时间为基准
NTP时间服务器,定义世界某个区域同步时间
cal 2020 查看2020年日历

文件名通配符
*代表任意长度的任意字符
?代表任意单个字符
[ ]代表匹配指定范围内任意单个字符
[0-9]代表任意数字
[A-Z]代表任意大写字符
[a-z]代表任意小写字符
[abc]括号内的任意单个字符
[:alnum:] 匹配任意英文大小写字符及数字 all number
[:alpha:] 匹配任意英文大小写字符
[:upper:] 匹配任意英文大写字符
[:lower:] 匹配任意小写字符
[:digit:] 匹配任意数字
[:punct:] 匹配标点符号,即问号、引号、叹号、分号等
[:space:] 匹配空白字符,如空格键、tab键等
[^] 匹配指定范围以外的任意字符(和上面选项一起用) [^ [:space:] ]
例:ll ?[0-9].cfg (查看以.cfg为结尾的,中间一位字符为0-9数字,前面?位代表寻找开头为一个任意字符的
IO重定向(input/output)输入输出
输入的数据流:键盘、鼠标,标准输入(standard input,stdin)
输出的数据流:显示器、标准输出(standard output,stdout)
错误的输出数据流:显示器,标准错误输出(standard error,stderr)
文件描述符:
标准输入用数字0代表
标准输入用数字1代表
错误输出用数字2代表
输出重定向:>
例cat /etc/issue > 1.txt(覆盖文件内容)
追加重定向: >>
例cat /etc/issue >> 1.txt
set -C 禁止覆盖(只对重定向生效)
set +C 取消限制(只对重定向生效)

错误输出重定向:2>(标准错误输出),2>>(标准错误追加输出)
&将标准输出和标准错误输出一起匹配
2>&1 将标准输出和标准错误输出一起匹配
例:cat 1.txt 2.txt 1>>5.txt 2>&1

输入重定向:<
将内存数据通过<显示给前面命令,通过命令结果打印出来
例:wc < test.txt,和直接使用命令显示不一样,输入重定向统计的是数据流,命令统计的是文本信息。
追加输入重定向:<<
例:

其中EOF代表方括号的意思,也可以用END代表方括号,但不能直接使用[ ]括号

tr:将输入的数据替换为其他字符
格式:tr 输入的字符 替换的字符
tr [a-z] [A-Z] < /etc/issue > 1.txt

管道符(|)
将前一个命令的输出作为后一个命令的输入
格式:命令1 | 命令2 | 命令3.。。。。。。
tee(通常配合管道符使用)将命令的执行结果同时输入到文件和屏幕上
例:cat /etc/issue | tee /root/issue | tr [a-z] [A-Z]
回显命令
echo
格式:echo 选项 字符串
选项:-n 不换行
-e让转义符生效
常用的转义符有:\n 换行(回车)
\t 制表符 TAB水平制表符
\v 纵向(垂直)制表符
\b 退格,(回删一个字符)
echo换颜色格式(需要用到-e选项)
:echo -e “\033[字符背景色; 文字颜色m 字符串 \033[0m”

字符界面操作方法如下

expr命令是用来做数值运算的,使用的数值必须是整数(注意运算乘法时,需要转义符*)
格式为:expr 1 + 2 其中1和2左右两边都有空格
Linuxshell变量
变量概述
程序=指令+数据
变量:不断变化的数据
变量名:引用变量的名称
数组:使用一个变量名,引用所有的变量
处理单个数据,使用变量
处理多个数据,使用数组
变量赋值:变量名=变量值
变量类型:数据格式
语言类型:
强类型:强制类型定义语言,要求变量的使用严格符合定义,必须先定义在使用,如JAVA、C++
弱类型:数据的类型可以被忽略,变量可以赋予不同的数据类型的值,如PHP、shell(bash)。
变量配置
变量的引用
变量的调用使用 符号或者 符号或者 符号或者符号加上花括号。一般来讲使用花括号的用法。
echo $变量名
echo 变量名变量最好大写用于以区分变量作用域本地变量:仅当前 s h e l l 生效(用户私有变量,只有本用户可以使用,保存在家目录下的 . b a s h p r o f i l e 、 . b a s h r c 文件中环境变量:当前 s h e l l 及其子 s h e l l 生效,保存操作系统运行时使用的参数,只在当前 s h e l l 中生效 , s h e l l 关闭变量丢失(环境变量包括全局变量,本地变量)局部变量:仅某段代码片段(函数)生效位置参数(变量):执行脚本时为脚本赋予的额外参数特殊变量: s h e l l 内置的提供特殊功能的变量,如 {变量名} 变量最好大写用于以区分 变量作用域 本地变量:仅当前shell生效(用户私有变量,只有本用户可以使用,保存在家目录下的.bash_profile、.bashrc文件中 环境变量:当前shell及其子shell生效,保存操作系统运行时使用的参数,只在当前 shell 中生效, shell 关闭变量丢失(环境变量包括全局变量,本地变量) 局部变量:仅某段代码片段(函数)生效 位置参数(变量):执行脚本时为脚本赋予的额外参数 特殊变量:shell内置的提供特殊功能的变量,如 变量名变量最好大写用于以区分变量作用域本地变量:仅当前shell生效(用户私有变量,只有本用户可以使用,保存在家目录下的.bashprofile.bashrc文件中环境变量:当前shell及其子shell生效,保存操作系统运行时使用的参数,只在当前shell中生效,shell关闭变量丢失(环境变量包括全局变量,本地变量)局部变量:仅某段代码片段(函数)生效位置参数(变量):执行脚本时为脚本赋予的额外参数特殊变量:shell内置的提供特殊功能的变量,如?
全局变量:所有用户都可以使用,保存在/etc/profile、/etc/bashrc文件中
本地变量
变量赋值:变量名=变量值(字符串要用单引号或双引号括起来)
变量引用:${变量名} 变量名特殊引用:引号查看变量: s e t 取消变量: u n s e t 后面加变量名环境变量变量赋值:方法一:变量名 = 变量值 e x p o r t 变量名方法二: e x p o r t 变量名 = 变量值方法三: d e c l a r e − x 变量名 = 变量值变量引用: 变量名 特殊引用:引号 查看变量:set 取消变量:unset 后面加变量名 环境变量 变量赋值: 方法一:变量名=变量值 export 变量名 方法二:export 变量名=变量值 方法三:declare -x 变量名=变量值 变量引用: 变量名特殊引用:引号查看变量:set取消变量:unset后面加变量名环境变量变量赋值:方法一:变量名=变量值export变量名方法二:export变量名=变量值方法三:declarex变量名=变量值变量引用:{变量名} $变量名
注:BASH中内置了大量的环境变量,如PATH、USER、PWD等
查看变量:set
查看全局环境变量:printenv
env: 用于显示系统中已存在的环境变量,以及在定义的环境中执行指令
取消变量:unset 后面加变量名
设置只读变量
declare -r 变量名
readonly 变量名

命令逻辑
多命令执行:通过;隔开,自左而右依次执行
命令逻辑(布尔型):
运算结果:真:true yes on 1
假:false no off 0
与运算:乘法 表示方法为&&
例:1&&1=1
1&&0=0
0&&1=0
0&&0=0
命令1&& 命令2
命令1为假时,则命令2不会执行
命令1为真时,则命令2必须执行
与运算总结:前面命令如果没有执行成功,后面命令不再继续执行
前面命令如果执行成功,后面命令必须执行

			或运算:加法 | |1||1=11||0=10||1=10||0=0命令1为真时,则命令2不会执行命令1为假时,则命令2必须执行或运算总结:前面命令如果执行成功,后面命令不在执行前面命令如果执行不成功,后面命令必须执行非:取反!!1=0!0=1实验:若/tmp目录存在,则创建/adc目录若/tmcp目录不存在,则创建/tmap目录

数据处理工具
grep:文本过滤工具
效率较高
以行为单位,在文件中查找、过滤指定的内容
sed:数据流编辑器
以行为单位处理数据
不处理源文件
awk:文本报告生成器(单独学问)
格式化后显示
一般以列为单位处理数据,生成报告
功能强大,相当于小型编程语言,支持c语法,支持条件语句
上面三种都支持正则表达式
:字符串的匹配和查找的方式
由一类特殊字符及文本字符所编写的模式,通常不表示字面意义,而是用于控制或通配的功能
正则表达式类型:
基本正则表达式(BRE)
扩展正则表达式(ERE)
Grep
作用:文本搜索工具
格式:grep 选项 模式 文件
选项:n(显示匹配行及 行号)、i、v
o 仅显示匹配到的字符串本身
q 静默模式
A 显示后几行
B 显示前几行
C 前后各几行

正则表达式概述
字符匹配
. 匹配任意单个字符,类似通配符中的?
[ ] 匹配指定范围内的任意单个字符
[:digit;] [:lower;] [:upper;]
[^] 匹配指定范围外的任意单个字符
匹配次数
* 匹配其前面的字符任意次:0,1,多次
.* 匹配任意字符任意次
\?匹配其前面的字符0次或1次
+ 匹配其前面的字符1次或多次
{n} 匹配其前面的字符n次
{n,m} 匹配其前面的字符n-m次
位置锚定
^
$
^$
单词锚定
< 匹配以指定字符串开头的单词
> 匹配以指定字符串结尾的单词
< >匹配指定单词

实验作业:显示/etc/passwd文件中不以/bin/bash/结尾的行
grep -v /bin/bash$ /etc/passwd
找出/etc/passwd文件中所有的两位数和三位数
(此命令只显示数字,不显示文件具体内容)
(此命令显示匹配的数字,及具体内容)
找出/etc/grub2.cfg文件中,以至少一个空白字符开头,且后面非空白字符的行

	  找出netstat -tuan命令结果中,以LISTEN后跟任意空白字符结尾的行

扩展正则表达式sed awk
grep工具
grep:默认基本正则表达式,可以通过-E选项支持扩展正则表达式
egrep:默认支持扩展正则表达式,通过-G选项支持基本正则表达式
fgrep:默认不支持扩展正则表达式,速度更快,通过-E选项支持扩展正则表达式,通过-G选项支持基本正则表达式。
egrep工具
选项:
-i
o
n
v
q
元字符
字符匹配:
. [ ] [ ^]
次数匹配:
*、?、+、{m,n}
位置锚定:
^ $ < >
扩展:
| ( )
练习 找出/proc/meminfo中,所有大写或小写开头的行

文本内容筛选
sed(扩展知识较为重要)
常用的数据分析、统计工具
选项:
-e 命令行模式中进行sed的编辑操作
r 使用扩展正则表达式语法(默认支持基本正则表达式)
i 直接修改文件内容
n 安静模式
f 将sed操作写入文件内
新增/删除内容
d 删除
a 新增
i 新增在行之前
c 替换
输出
p 打印
替换
s 查找并替换
修改源文件
i 修改
awk(扩展知识较为重要)
以列为单位进行数据分析,处理的工具
格式:awk ‘条件类型1 {操作1} 条件类型2 {操作2} 。。。。。‘ 文件名
例子:echo “aa bb cc” | awk -F ‘{print $1}’ 结果就是aa,其中{print $1}意思是把字符串按空格分割,取第一个,自己做个测试就明白了!
原理:
读入第一行,将第一行的数据写入$0、$1、$2等变量中
$0代表当前行的所有数据
$1 代表第一个数据
$2代表第二个数据
根据条件类型的限制,判断是否进行后续操作
完成所有的条件判断与操作
若还有后续行,则重复上述三步,直到处理完所有数据
选项:
-F 指定分隔符
内置变量:
FS 指定分隔符
NR当前数据所在的行号
NF 当前行所拥有的字段数

		条件匹配:	>   大于<   小于

= 大于等于
<= 小于等于
== 等于
!= 不等于

CUT
作用:以列为单位,获取数据片段
选项:-d 指定分隔符
-f 指定第几字段,1,2.。。。。
# 第#字段
m 第m字段
m-n 第m字段到第n字段
m,n第m字段和第n字段
-c 以字符为单位,取出数据
sort
排序
-t 指定分隔符
-k 指定第几字段
-n 按整数排序
-b 忽略空格
-f 忽略大小写
-r 反向
uniq
合并连续的重复项
-c 统计显示合并次数
-i 忽略大小写
d 仅统计重复出现过的字符串

Linux脚本概述
脚本的作用
实现自动化管理的重要手段
跟踪和管理系统的重要手段
连续命令的执行
简易的数据处理
跨平台
脚本格式
脚本声明
声明当前脚本使用的shell名称
内容声明
通过注释,解释脚本内容及作用
(生产环境中不要写注释自己能看懂就行 老板绝对不会培养无法取代自己的人)
主要变量声明
脚本中需要经常调用的变量设置
主题程序
脚本中需要执行的命令
执行结果告知
exit 0
注意事项(主要针对内容说明的)
脚本的功能说明
脚本的版本信息
脚本的版权声明
脚本作者声明
脚本的历史记录
脚本特殊环境说明
脚本的执行
脚本角度
命令是从上而下,从左至右进行分析与执行
命令的执行过程中,命令、选项、参数间的多个空格会被忽略掉
空白行会被忽略
脚本执行过程中,每读取到一个enter符号(换行符),则开始执行命令
如果单行命令过长,可以使用\enter进行扩展
脚本中的任何#注释信息,都会被忽略
#!/bin/bash 是特例
用户角度
绝对路径,如/root/1.sh 权限都得是rx
相对路径,如./1.sh 权限都得是rx
环境变量,利用$PATH提供的路径来执行,如1.sh 权限都得是rx
SHELL程序,利用bash直接解释执行,如bash 1.sh 权限r
脚本编写
交互式脚本 read 命令
read 读取键盘输入
p 指定输入的提示符,打印信息
read -p “提示信息” 变量名
-t限定时间
-s不回显
-n 输入字符个数
数值运算
$(())表示计算

		declare -i 变量名=变量1 运算符 变量2运算符:+ - * / %(余数)调用bc计算器判断式可以用到&&   ||&&前一个命令成功则执行后一个命令|| 前一个命令不成功则执行后一个命令字符判断基于文件名    teste  判断文件名是否存在f   文件名是否存在,且为文件d  文件名是否存在,且为目录基于权限对比r 文件名是否存在,且具有可读权限w 文件名是否存在,且具有写入权限x 文件名是否存在,且具有执行权限u 文件名是否存在,且具有SUID权限g 文件名是否存在,且具有SGID权限k 文件名是否存在,且具有SBIT权限s 文件名是否存在,且为非空文件实验:让用户自行输入目录名,若目录名存在,则输出“目录已存在”;或目录不存在,则创建该目录让用户自行输入用户名,进行权限测试,

若目录具有SBIT权限,则输出“该文件具有SBIT权限
若目录没有SBIT权限,则列出该目录详细权限信息

				文件对比nt 判断文件1 是否比文件2新ot 判断文件1是否比文件2旧ef 判断文件1和文件2是否为同一个文件整数对比eq 数值相等ne 数值不等gt n1>n2lt n1<n2ge n1>=n2le n1<=n2判定字符串== 字符串1是否等于字符串2!=字符串1是否不等于字符串2z 是否为空字符串多重条件判断				a 条件同时成立   ando 条件满足一个	or!表示取反符号判断
格式 [ ]中每个组件都需要空格分隔
[ ]中的变量,最好使用双引号
[ ]中的常数,最好使用单引号或双引号

默认变量
$0 代表文件名或程序本身
$# 代表位置参数的个数
$* 代表所有的位置参数
$1 代表第一个位置参数
$2 代表第二个位置参数
以此类推。。。。。。。

	shift 位置参数的偏移量删除前N个位置参数

SHELL基本语法
条件判断
if语法
格式
单层结构
if [条件判断式];then
条件判断成功时,执行的命令
fi
双层结构
if [条件判断式];then
条件判断成功时,执行的命令
else
条件判断失败时,执行的命令
fi
多层结构
if [条件判断式];then
条件判断成功时,执行的命令
elif [条件判断式2]
条件判断2成功时,执行的命令
else
条件判断失败时,执行的命令
fi
case语法
格式
case 变量值 in
值1)
命令1
;;表示这个命令的结束
值2)
命令2
;;
值n)
命令n
;;
*)
命令
esac

循环语法
for语法
固定循环
格式:
for 变量名 in 值1 值2 值3。。。。。。 值n
do
命令
done

	for语法实验查看系统中的在线用户,检查每个用户的详细信息(id)查看/root目录中包含哪些文件,检查每个文件的详细信息(ls)查看系统中有哪些可以登录的用户,逐行显示“hello,用户名”while语法不定语法格式:while [条件判断式]do命令done特殊条件:true (无限循环)例:创建100个用户,设置100个密码实验:显示1-100之间的所有数字显示1-10之间,所有数的平方随机生成一个价格,让用户猜,猜对则循环结束,猜高显示创建五个用户

shell脚本为运维人员面试和工作中的重中之重,请加以拓展。
Linux安全设置
Linux用户提权(SUDO)
SUDO概述
作用:让普通用户具备部分管理员的权限
命令:sudo
配置文件:/etc/sudoers
命令格式
sudo 选项 用户 命令
默认仅root用户可以使用sudo,通过sudo切换身份
原理
首先查找/etc/sudoers文件中,该用户是否有sudo权限
确认权限后,输入密码(自己的密码)进行验证
执行sudo命令
root执行sudo时,无需密码验证;切换的身份与当前身份相同时,也无需密码验证
设置sudo方法
通过visudo命令和vim 进入/etc/sudoers
为单一用户提权
使用visudo命令进入配置文件
在里面新加 用户名 ALL=(ALL) ALL
其中里面的含义可以解释为
用户名:设置可以执行的SUDO的用户
ALL:登录者的来源主机名,如localhost,www等
(ALL):可切换的身份,如root
ALL:可以执行的命令,命令需要使用的绝对路径
ALL代表绝对和任何
为组提权
配置文件中%后的字符串代表组名
默认系统中,仅有wheel组的成员能够提权
NOPASSWD:ALL代表免密码执行
有限提权

!表示不可执行,wang用户只能在/etc/passwd修改所有用户密码,但不能修改root的密码
别名提权

	Host_Alias 主机别名User_Alias 用户别名Cmnd_Alias 命令别名用户别名 主机别名=(切换的身份)命令别名注意:定义的别名必须是大写字符

有效期:
同一个用户5分钟内重复执行sudo命令时,第二次不需要进行密码验证
特殊应用:
执行大量操作时,可以使用sudo为su命令提权
保证root用户密码不外流的前提下,减少sudo命令的使用,提高命令的执行效率
有一定风险。
PAM模块
PAM中文名叫插入式验证模块
提供应用程序的编程接口,通过PAM可以使用验证机制
原理
passwd
用户执行/bin/passwd命令,输入密码
passwd命令调用PAM模块进行验证
PAM会在/etc/pam.d中寻找同名配置文件
根据/etc/pam.d/passwd文件中的设置,引用相关模块逐步验证
将验证结果反馈给passwd程序(成功、失败、其他信息)
passwd程序根据得到的反馈结果,决定下一步操作
PAM文件内容
/etc/pam.d文件中每一行都是独立的验证流程
每行分为3个字段,分别是验证类别、控制标准、PAM的模块及模块的参数
验证类别(type)
auth(认证)检验用户的身份(通过密码检验)
account(账号)检验用户的权限
session(会话)本次登录期间(或命令使用期间)的环境设置,通常用于记录用户登录、注销时的相关信息
passward(密码)提供验证的修订任务,如修改密码
控制标准(flag)
required若验证成功,则返回success的标识;若验证失败,则返回failure的标识
requisite若验证失败,则立刻返回failure的标识,并终止后续的验证流程
sufficient若验证成功,则立刻返回success的标识,并终止后续的验证流程
optional显示信息
模块
模块配置 /etc/pam.d/:程序的PAM配置文件(通常是同名文件)
/lib64/security/
:PAM文件的实际存放目录
/etc/security/:PAM的环境配置文件
/usr/share/pam-
/:PAM的说明文件
常见模块
pam_security.so限制管理员只能从安全的终端登录 /etc/securetty
pam_nologin.so 限制一般用户是否能够登录主机/etc/nologin
pam_selinux.so限制用户的管理权限
pam_loginuid.so验证用户的UID
pam_pwquality.so验证用户密码的强度

其他安全配置
limits.conf
wang soft fsize 90000
字段1代表:用户或组,组用@标识,如@wang
字段2表示:限制的类型,soft软限制 hard 硬限制
字段3表示:相关选项,如fsize为容量限制,maxlogins为登录用户数限制
字段4表示:阈值,限制的具体数值 90000个字节
日志文件
/var/log/secure
/var/log/messages
信息传递
write
格式:write 用户名 终端
wall
格式:wall :信息内容“
mail
格式:mail -s 标题 用户@邮件域
邮件内容
. 表示结束
格式2:echo “邮件内容“ | mail -s 标题 用户@邮件域
格式3:mail -s 标题 用户@邮件域 < 文件

Linux防火墙概述
定义
工作在主机或网络边缘,对进出的数据报文进行检查,并能够按照事先定义好的规则对数据按特定动作处理的模块,称之为防火墙。
防火墙分类
位置:主机防火墙、网络防火墙
结构:硬件防火墙、软件防火墙
机制:包过滤防火墙、应用程序防火墙
其他安全设备
入侵检测系统(IDS)
按照特定的安全策略,对网络、系统的运行状况惊醒监视,尽可能发现各种攻击企图,保证网络资源的机密性、完整性和可用性

入侵防御系统(IPS)
深度感知并检测系统流量,对恶意报文进行丢弃以阻断攻击
主动安全类:
WAF
DAF
防火墙类型
Linux2.0 ipfw/firewall
Linux2.2 ipchain/firewall
Linux2.4 iptables/netfilter
Linux3.0 firewalld
防火墙规则
默认规则
要么开放或要么关闭
规则匹配
匹配标准
IP头部:源IP、目标IP
TCP头部:源端口、目标端口
UDP头部:源端口、目标端口
ICMP:ICMP类型
数据处理
数据走向
外部访问本地 1
本地访问外部 2
本地负责转发 3
规则应用
多规则匹配
自上而下
匹配即停止
关联性
有关联性,小范围优先
无关联性,大范围优先
防火墙名称
规则链(是一个容器,存放防火墙规则)
五链 INPUT 1
OUTPUT 2
FORWARD 3
PREROUTING 4
POSTROUTING 5
规则表(是一个容器,存放防火墙规则链)
四表 有四个表 Filter表
INPUT
OUTPUT
FORWARD
Nat表
PREROUTING
POSTROUTING
FORWARD
Mangle 表
INPUT
OUTPUT
PREROUTING
POSTROUTING
FORWARD
Raw 表
PREROUTING
OUTPUT

iptables防火墙规则
表结构
raw(功能:状态跟踪)
PREROUTING
OUTPUT
mangle(功能:修改数据报文)
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING
nat(功能:地址转换)
PREROUTING
POSTROUTING
OUTPUT
filter(功能:过滤)
INPUT
OUTPUT
FORWARD

	数据匹配的优先级规则:自上而下依次匹配匹配即停止默认规则(接受或丢弃)规则链:入站:PRERPUTING>INPUT>OUTPUT出站:OUTPUT>POSTROUTING转发:PREROUTING>FORWARD>POSTROUTING规则表:raw>mangle>nat>filter编写防火墙规则格式:iptables -t表名 选项 链名 条件匹配 -j指定控制类型注意事项:选项、链名、控制类型必须使用大写字符设定规则时,通常需要配合默认规则使用不指定表名时,默认使用filter表不指定链名时,默认使用表内所有的链控制类型:ACCEPT 允许REJECT  拒绝DROP   丢弃LOG     日志REDIRECT 重定向SNAT     源地址修改DNAT    目标地址修改条件匹配添加规则选项-A 链尾添加规则-I(大写i)链首或指定位置添加规则例:iptables -t filter -A INPUT -p tcp  -j DROP-L 查看规则-n 数字显示-v 详细信息--line-numbers 显示规则序号-D 清空指定规则-F 清空所有规则-P 设置默认规则条件通用匹配协议匹配:-p	地址匹配:-s(源地址匹配)、-d(目标地址匹配)接口匹配:-i(入站网卡)、-o(出站网卡)隐含匹配:端口匹配:--sport(源端口)、--dport(目标端口)ICMP类型匹配:--icmp-type icmp类型ICMP类型8   ICMP 入站访问数据

0ICMP 出站访问数据
3 ICMP 回显数据
显示匹配
多端口:-m multiport
–sport 源端口
–dport 目标端口
多ip地址:-m iprange
–src-range 源ip范围
–dst-range 目标ip范围
MAC地址:-m mac
–mac-source 源MAC地址
状态匹配:-m starte
–state established 传输数据的连接状态
–state new 新连接的状态
–state related 有关联性的连接状态

防火墙应用
SNAT
应用场景:局域网多台主机共享单个公网ip地址接入互联网
原理:源地址转换
格式:iptables -t nat -A POSTROUTING -o 外网接口 -s 内网地址 -j SNAT –to-source 外网地址
地址伪装(自动检测外网卡地址,并配置)
iptables -t nat -A POSTROUTING -o 外网接口 -s 内网地址 -j MASQUERADE –to-source 外网地址

DNAT
应用场景:在互联网中发布位于内部局域网的服务器
原理:目标地址转换
格式:iptables -t nat -A PREROUTING -i 外网接口 -d 外网地址 -j DNAT –-to-destination内网地址

扩展:tcp头部和udp头部 tcp连接三次握手四次挥手
重中之重面试必问TCP/IP协议,详情请咨询作者

SAMBA
cifs/smb
程序:nmbd:实现计算名的解析 端口号UDP 137/138
smbd:实现文件共享 端口号 139/445
主配置文件
/etc/samba/smb.conf
/etc/samba/smb.conf.example
[global] 全局配置区域
security 安全级别
share 匿名
user 用户名/密码
server用户名/密码,可以用其他主机提供
domain用户名/密码,需要有DC进行身份验证
[homes] 家目录共享区域
[printers] 打印机共享区域
[print$] 打印机驱动
[自定义区域] 用户自定义的共享目录
创建用户smbpasswd(先创建系统用户 之后在创建smb用户 user add a1)
-a 添加用户 smbpasswd -a a1
-x 删除用户
-d 禁用用户
-e 启用用户
systemctl start smb 启动服务
systemctl enable smb 开机自启
客户端访问
windows 通过UNC路径进行访问
linux
smbclient
-L 查看
-U 指定用户
常用选项:public=yes 是否公开共享
read only=yes 只读访问
writable =yes 写入访问
write list=用户名,@组名 写入列表
valid users 合法用户

	  hosts allow 允许个别,拒绝所有host deny 拒绝个别,允许所有

映射网络驱动器
mount -t cifs -o username=zhangshan,password=123//服务器地址/共享目录 /本地路径
扩展:用户名映射,磁盘配额,swat

SAMBA实验操作
配备两台主机 server client
配置samba

创建用户

修改创建专属SAMBA用户(需要在原本用户上配置密码)

开启SAMBA

systemctl enable smb 开机自启

安装工具

查看声明a1用户 的情况

查看SAMBA

进行测试

修改网络参数输入账户密码即可测试

实验二
进入配置文件

【share】是声明名称可以随意修改
Comment 也是声明无特殊含义 path 路径 public 公开共享 writable 写入权限

重启服务

创建测试用的文件

把client网卡改为桥接模式
使用命令进行查看,发现多了share

登录share查看情况

最后进行开机自动挂载

常见防火墙firewalld
iptables、ebtables、firewalld
firewalld,Linux系统的动态防火墙管理器
底层依然是netfilter,底层调用的命令依然是iptables
firewalld作用
firewalld是iptables的前端控制器,实现持久的网络流量数据的控制规则
firewalld特点
firewalld提供命令行和图形界面,绝大多数发行版都支持
支持IPV4、IPV6防火墙以及以太网桥
支持两种配置模式:运行时配置和永久配置
支持服务或应用程序直接添加防火墙规则接口
firewalld区别
firewalld使用区域和服务,而不是iptables的链式规则
iptables使用/etc/sysconfig/iptables保存配置,而firewalld将配置保存在/usr/lib/firewalld中的XML文件中
firewalld可以动态修改单条规则

firewalld区域
定义:将所有的网络流量数据划分为多个区域,从而简化防火墙管理
规则:若源地址关联到特定区域,则执行该区域所指定的防火墙规则
若源地址未关联到特定区域,则使用访问的网络接口的区域,并应用 其中的防火墙规则
若网络接口未关联到特定区域,则使用默认区域并执行该区域中所指定的防火墙规则
区域类型:
阻塞区域(block):任何传入的网络数据包都将被阻止。
任何接收的网络数据包都将被丢弃,没有任何回复,仅支持发送出去的网络流量数据
工作区域(work):除非与传出流量相关,或与ssh、dhcp-client等预定义服务匹配,否则拒绝流量传入
相信网络内的其他计算机不会危害本机,仅接受经过选择的连接,用于工作区
监听区域(home):除非与传出流量相关,或与ssh、dhcp-client等预定义服务匹配,否则拒绝流量传入
相信网络内的其他计算机不会危害本机,仅接受经过选择的连接,用于家庭网络
公共区域(public):除非与传出流量相关,或与ssh、dhcp-client等预定义服务匹配,否则拒绝流量传入
不能相信网络内的其他计算机,仅能接受经过选择的连接,是新添加网络接口的默认区域
隔离区域(DMZ):也称为非军事区域,内外网络之间增加的缓冲区域
除非与传出的流量相关,或与ssh等预定义服务匹配,否则拒绝流量传入
信任区域(trusted):所有网络连接都可接受
丢弃区域(drop):除非与传出的流量相关,否则丢弃所有传入的流量,并且不产生错误回应
内部区域(linternal):除非与传出流量相关,或与ssh、dhcp-client等预定义服务匹配,否则拒绝流量传入
相信网络内的其他计算机不会危害本机,仅接收经过选择的连接,用于内部网络。
外部区域(external):除非与传出流量相关,或与ssh、dhcp-client等预定义服务匹配,否则拒绝流量传入
通过此区域转发的IPV4传出流量将进行地址伪装,可用与特定外部网络

		规则:默认区域不是单独的区域,而是指向系统中定义的某个区域按先后顺序匹配规则,匹配即停止

配置防火墙
配置方法有三种
firewall-config图形界面
firewall-cmd命令模式
直接编辑文件
/usr/lib/firewalld/zones/目录中:block.xml、work.xml、home.xml、public.xml、dmz.xml、trusted.xml、drop.xml、internal.xml、external.xml
环境准备
安装:firewalld、firewall-config
查看:systemctl status firewalld
运行:systemctl start firewalld
systemctl enable firewalld
关闭:systemctl stop firewalld
systemctl disable firewalld
firewall-config
菜单>选项
重新加载防火墙:将永久配置中的内容读取为当前的运行配置
将RUNTIME设定为永久配置:将当前运行的配置保存为永久配置
改变默认区域:更改网络连接的默认区域
区域选项卡、服务选项卡、ipset选项卡
配置
runtime:运行时配置(临时配置)
permanent:永久配置
firewall-cmd
查看命令
firewall-cmd --state 查看防火墙状态
firewall-cmd --version 查看防火墙版本
firewall-cmd --help 查看帮助信息
firewall-cmd --get-zone-of-interface 查看指定接口所属的区域
firewall-cmd --get-active-zones 查看区域信息
firewall-cmd --get-zone 查看所有可用的区域信息
firewall-cmd --get-default-zones 查看激活默认区域信息
接口设置
firewall-cmd --set-default-zone=ZONE 设置默认区域
firewall-cmd --zone=ZONE –change-interface=IFACE 设置接口默认区域
服务设置
firewall-cmd --zone=ZONE --add-service=SERVICE 添加服务
firewall-cmd --zone=ZONE --remove-service=SERVICE 删除服务
firewall-cmd --zone=ZONE --list-services 查看服务

					端口设置firewall-cmd  --zone=ZONE  --add-port=PORT 添加端口firewall-cmd  --zone=ZONE  --remove-port=PORT/PROTOCOL 删除端口

·· firewall-cmd --zone=ZONE --list-ports 查看端口列表
协议设置
firewall-cmd --zone=ZONE --add-protocol=PROTOCOL 添加协议
firewall-cmd --zone=ZONE --remove- protocol=PROTOCOL 删除协议
firewall-cmd --zone=ZONE --list- protocol 查看协议列表
加载
–reload 重新加载防火墙
–permanent设置永久生效的规则(写在某一条规则后面)
firewall-cmd --runtime-to-permanent 将当前运行的配置保存为永久配置

拓展
直接规则、富规则

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF使用Prism框架首页界面

1. 首先确保已经下载了NuGet包MaterialDesignThemes 2.我们通过包的项目URL可以跳转到Github上查看源码 3.找到首页所在的代码位置 4.将代码复制下来&#xff0c;删除掉自己不需要的东西&#xff0c;最终如下 <materialDesign:DialogHostDialogTheme"Inherit"Ide…

CTFshow之信息收集第1关到10关。详细讲解

得而不惜就该死&#xff01; --章总 开始新的篇章&#xff01; 零、目录 一、实验准备 1、ctf网站&#xff1a;ctf.show 2、工具&#xff1a;chrome浏览器、hackbar插件 3、burpsuite抓包工具 二、实验技巧 &#xff08;一&#xff09;F12摸奖 源码泄露 &#xff08;二…

企业CRM管理系统PHP源码/PHP客户关系CRM客户管理系统源码

系统功能实现 1、 公海管理:公海类型、客户公海。 2、 线索管理:我的线索、线索列表、线索状态、线索来源。 3、 客户管理:我的客户、客户列表、成交客户、行业类别、预查、地区列表、客户状态、客户级别。 4、 业绩订单:订单列表、我的订单。 5、 系统设置:系统设置…

40.第二阶段x86游戏实战2-初识lua

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

DAY17|二叉树Part03|LeetCode: 530.二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236.二叉树的最近公共祖先

目录 LeetCode: 530.二叉搜索树的最小绝对差 基本思路 有序数组法 C代码 双指针法 C代码 LeetCode: 501. 二叉搜索树中的众数 哈希法 C代码 双指针法 C代码 LeetCode: 236.二叉树的最近公共祖先 基本思路 C代码 LeetCode: 530.二叉搜索树的最小绝对差 力扣代码链…

「Mac畅玩鸿蒙与硬件27」UI互动应用篇4 - 猫与灯的互动应用

本篇将带领你实现一个趣味十足的互动应用&#xff0c;用户点击按钮时猫会在一排灯之间移动&#xff0c;猫所在的位置灯会亮起&#xff08;on&#xff09;&#xff0c;其余灯会熄灭&#xff08;off&#xff09;。应用会根据用户的操作动态更新灯光状态和文本提示当前亮灯的位置&…

【网络】套接字编程——UDP通信

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;UDP网络服务器简单模拟实现。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1a;…

黑马官网2024最新前端就业课V8.5笔记---HTML篇

Html 定义 HTML 超文本标记语言——HyperText Markup Language。 标签语法 标签成对出现&#xff0c;中间包裹内容<>里面放英文字母&#xff08;标签名&#xff09;结束标签比开始标签多 /拓展 &#xff1a; 双标签&#xff1a;成对出现的标签 单标签&#xff1a;只有开…

openfoam中生成的3d案例提取得到slice后的2d案例

问题&#xff1a; 由于前期准备做3d的案例&#xff0c;并且模拟也比较费时间&#xff0c;现在生成了几十份3d的数据&#xff0c;但是现在只想要2d的数据来演示&#xff0c;该如何提取或者转换呢&#xff1f; 解决方法&#xff1a; 1.说明图片中的每个2d视图的points都是恒定不…

使用 Sortable.js 库 实现 Vue3 elementPlus 的 el-table 拖拽排序

文章目录 实现效果Sortable.js介绍下载依赖添加类名导入sortablejs初始化拖拽实例拖拽完成后的处理总结 在开发过程中&#xff0c;我们经常需要处理表格数据&#xff0c;并为用户提供便捷的排序方式。特别是在需要管理长列表、分类数据或动态内容时&#xff0c;拖拽排序功能显得…

STM32 + CubeMX + 硬件SPI + W5500 +UDP

这篇文章记录一下STM32W5500UDP的调试过程&#xff0c;实现UDP数据的接收与发送。 目录 一、W5500模块介绍二、Stm32CubeMx配置三、Keil代码编写1、添加W5500驱动代码到工程&#xff08;添加方法不赘述&#xff0c;驱动代码可以在官网找&#xff09;2、在工程中增加代码&#…

2023年SCRM系统排名分析及市场趋势解读

内容概要 当前&#xff0c;SCRM&#xff08;社交客户关系管理&#xff09;系统在企业运营中的重要性日益凸显&#xff0c;尤其是在快速发展的数字经济环境中。2023年的SCRM市场展现出多元化与专业化的趋势&#xff0c;不同企业在客户关系管理方面的需求各有不同&#xff0c;这…

StableDiffusion-3.5 文生图模型本地部署尝鲜

文章目录 官方仓库ComfyUI 配置模型文件生成图片&#xff0c;观察日志生成样例 买了新的 4070TiS 显卡之后&#xff0c;终于有了个人的 16GB 显存&#xff0c;再也不用在关键时刻和实验室的其他人抢那两张 3080Ti 12G 了&#xff0c;所以想试试看干净的 Linux 环境下&#xff0…

规范:项目、目录、文件、样式、事件、变量、方法、url参数、注释、git提交 命名规范及考证

一、规范命名的重要性 易懂、通用、规范、标准、专业性、是经验积累的体现 1.1、常见命名方法 序号命名方法解释1全小写2全大写3驼峰&#xff1a;小驼峰命名法4驼峰&#xff1a;大驼峰命名法5烤串命名法 / 脊柱命名法6下划线分隔法 二、项目名 采用小写字母和中划线&#…

Navicat 连接远程腾讯云服务器的MySQL数据库

首先需要开放开放腾讯云安全端口&#xff0c;可以参考这个链接腾讯云服务器入站规则端口开放使用指南(CentOS系统)。 但是注意需要开放的是IPv6&#xff0c;这个可以通过netstat命令查看确认。 然后查看当前用户信息 select user, host from mysql.user一般看到的都是 localh…

第三十四篇:URL和URI的区别,HTTP系列一

前面我们讲到通过TCP协议通信双方建立可靠连接&#xff0c;那么此时双方进行通信&#xff0c;需要用人能理解的形式进行信息组织&#xff0c;也就是为各种特定需求服务&#xff0c;满足日常生活中的各种场景。 比如&#xff1a;网页浏览、电子邮件、远程登录、文件传输、网络管…

什么情况下,不推荐建立索引?

一般有以下几种情况不推荐建立索引&#xff1a; 1&#xff09;对于数据量很小的表 当表的数据量很小&#xff08;如几百条记录&#xff09;时&#xff0c;建立索引并不会显著提高查询性能&#xff0c;反而可能增加管理的复杂性&#xff1b; 2&#xff09;频繁更新的表 对于…

GitHub上传自己的项目

目录 一、安装Git插件 1&#xff09;下载 2&#xff09;安装 二、创建Gothub的创库 三、通过Git上传本地文件到Github 四、其他 1、部分指令 2、如果已经运行过git init并设置了[user]&#xff0c;下次可以直接用 一、安装Git插件 1&#xff09;下载 下载地址&#x…

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用&#xff0c;用户可以设置倒计时时间并开始计时。当倒计时结束时&#xff0c;应用会显示提醒。该项目涉及时间控制、状态管理和用户交互&#xff0c;是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

Linux动态库和静态库

1&#xff0c;手动制作静态库 1&#xff0c;如何形成静态库文件 做库时&#xff0c;头文件(.h)必须暴露&#xff0c;源文件(.c)必须隐藏。 操作&#xff1a;将需要形成库的文件编译成.o文件&#xff1a; 然后用指令&#xff1a;ar -rc libmy_stdio.a my_stdio.o my_string.o…