加密解密技术基础、PKI和OpenSSL
一、 通信安全基础概念
1. 数据的通信安全特性
保密性(confidentiality):通信要具有保密性,确保自己的通信不被任何无关的第三方解密
完整性(integrity):通信双方在通信过程中不会产生信息丢失
可用性(availability):任何信息对授权方是可用的
2. 安全攻击类型
(1)对保密性产生威胁的攻击
窃听
通信分析:虽然数据加密无法获取具体内容,但是可以通过监视通讯量的方式获取到一些额外的信息
(2)对完整性产生威胁的攻击
更改:通信报文被截获到之后,对其内容进行更改
伪装:假装成某个身份向目标发送报文
重放:截获通信某方的报文,无限的重复发送这个报文
否认:通信双方中某方否认发送过某个信息
(3)对可用性产生的攻击
拒绝服务:把目标可正常访问的资源通过非正常手段占用,导致服务不可用
二、加密算法相关概念
使用某种算法将明文数据转换为另外一种形式,接收者使用对应的解密方式进行解密,建议一种算法或者对应的一对儿密钥只用在一个功能上,而不要用一个密钥完成多种功能
1. 分类
(1)传统加密方法
替代加密算法:把明文中所有的奇数字母都向前移三位, ...
awk命令
一、基础概念
awk命令是Linux文本处理三剑客之一,其man文档把功能概况为pattern scanning and processing language(模式扫描机处理语言),通俗来讲awk命令是一个文本报告生成器,用于实现格式化文本输出,在处理文本文件时对文档中的某字段按条件执行操作,作者为aho、weinberger、kernighan,命令名称由其名字的首字母组成。awk命令大概出现在1970年左右的unix系统中,后来在开源领域不得不把awk所有的功能在Linux中重新实现,现在Linux用到的awk其实是gawk命令
二、命令用法
命令格式:gawk [option] 'program' File…
1. option
-F:指明输入字段时的分隔符
-v var=value:自定义变量,变量名区分大小写 内建变量: FS:input field separator,输入时的字段分隔符,默认为空白字符 OFS:out field separator,输出时字段的分隔符,默认为空白 RS:input record separator,输入时的换行符 ORS:outpu ...
Bash基础
一、Bash基础特性
1. 命令历史功能
命令历史的功能其实并不是Linux内核提供的,而是由shell提供的,命令为history
1.1 与命令历史相关的环境变量
用来设置history特性
HISTSIZE:命令历史记录的条数
HISTFILE:定义history命令历史的保存位置,默认为~/.bash_histroy
HISTFILESIZE:命令历史文件记录历史的条数
HISTCONTROL:命令历史的记录方式
(1) ignoredups:忽略连续且相同的命令
(2) ignorespace:忽略以空白字符开头的命令
(3) ignoreboth:上述两种都有
1.2 history命令
格式:history [option]
option:1. -d # [偏移量]:删除指定命令历史2. -c:清空命令历史3. #:显示最近#条命令历史4. -r:读取历史文件并将内容追加到历史列表中5. -w:将内存中的命令历史保存到文件中6. -a: 手动追加当前会话缓冲区的命令历史至历史文件中
1.3 调用历史命令
1. !#:重复执行第#条指令2. !$:重复执行上一条命令3 ...
Linux常见的琐碎命令
一、wc命令
word count,统计文件内容数据的命令
格式:wc [OPTION]... [FILE]...
option: -l:只显示行数 -w:只显示单词数 -c:只显示字节数
二、cut命令
文本行信息切切割
格式:cut OPTION... [FILE]...
option -d:指明分隔符,可直接跟分隔符 -f #|#-#|#,#:指定显示那些字段 --output-delimiter=STRING:指定输出分隔符
三、sort
文本排序命令
格式:sort [OPTION]... [FILE]...
option -r:降序排列 -f:忽略字符大小写 -t:指明分隔符 -k:以指定字段排序 -n:以数值大小排序 -u:去重
四、uniq
格式:uniq [OPTION]... [INPUT [OUTPUT]]
option: -c:显示重复出现的次数 -d:仅显示重复出现的行 -u:仅显示没有重复的行
五、CP
将源文件数据流抽取出来,填充到指定的新文件中
格式 cp SOURCE... DEST:如果DEST不存在,则事先创建DES ...
Centos系统启动流程及相关
一、库相关内容
1. 基本概念
库就是函数(function)的集合,可以把函数理解为一种功能,它内部是由很多代码段组成的,因此任何一个程序调用函数其实就是调用功能,为了方便调用会给每个函数都起个名字,通常都是通过函数名完成调用的。站在运行的角度看库,其实它也是二进制程序,唯一跟/bin目录下的程序不同的就在于库文件没有自我独立的执行入口,也就是说库要想运行起来必须要别的程序调用才行,因此无法单独执行,但可以作为有单独执行入口程序的代码片段,与别的程序一块存活,用户空间的库以文件.so结尾,shared object
头文件:为了让函数拥有更灵活的功能,通常还要让函数能接受参数,不同的函数能接受参数类型与个数都不同。因此,每一个库当中有多少个函数,每一个函数能接受多少个参数,每一个参数都是什么类型等等,都应该有一个文件对其加以描述,而这个文件就叫头文件
2. 根据执行结果对库的分类
function:函数调用,调用完以后有返回值,这个返回值不是执行状态返回值,而是结果
procedure:过程调用,没有返回值的代码片段,这种代码片段其实并不是没做任何事,而只是完成后就结束了
二 ...
sed命令
一、基础概念
sed是一个文本流编辑器,全称为Stream EDitor。
sed命令拥有两个加工空间,分别为模式空间和保持空间,类似工厂加工零件的一车间、二车间。
模式空间
sed命令处理文件时将文本流依次读进自己的模式空间完成加工处理,处理完毕后将模式空间信息输出至屏幕
保持空间
保持空间的信息不进行任何输出,其可以配合模式空间完成一些高级操作。比如文本逆序、添加空行等等。普通编辑用不到保持空间,仅模式空间即可
二、命令用法
命令格式:sed [OPTION]... ‘script’ input-file...
OPTION: -n:静默模式,不把模式空间的内容输出至屏幕 -e:多点编辑功能 -f /path/to/script:从指定文件读取编辑脚本,文件中写入引号内的内容 -r:扩展正则表达式 -i[.bak]:在原处编辑
script:脚本片段由地址定界和编辑命令组成,定界和编辑命令中间没空格地址定界: :不给地址,表示对全文进行处理 #:指定第#行 /pattern/:被模式匹配到的每一行 #,#:从第#行到第#行 ...
文本处理工具--grep
一、文本处理工具-grep
Linux有被称为文本处理三剑客的工具 grep、sed、awk,本文来讲grep
1.简单的介绍
grep 文本过滤工具,全称为 Global search REgrlat expression and Print out the line。可以在大段的文本之间按指定的过滤条件或模式匹配内容,后进行输出。模式就是用正则表达式编写的过滤条件。
2.命令用法:
标准格式: grep [OPTIONS] PATTERN [FILE...]
option 常用选项
选项意义
-E
使用扩展正则表达式
-G
使用基本正则表达式,不过默认就是使用基本正则表达式
-F
使用固定字符串
-P
使用perl语言的正则表达式
-i
忽略字符大小写
-o
仅显示匹配到的字串
-q
静默模式
-A #
显示匹配到的行及后#行
-B #
显示匹配到的行及前#行
-C #
显示匹配到的行及前后#行
-v
取反,意为显示不能够匹配的行
–color=auto
对匹配到的文本加颜色
二、正则表达式:
1.什么是正则 ...
SeLinux基础
一、基础概念
SELinux的全称为安全加强的linux(Secure Enhanced Linux),工作于Linux内核中,用于实现强制访问控制机制。它实现的方式类似于将一个进程的运行环境限制在一个沙箱中,使得某个进程只能拥有沙箱中限定的权限,从而实现对进程的控制,避免其风险
1. 访问控制机制
DAC:自主访问控制机制,linux原生的访问控制机制,安全上下文
MAC:强制访问控制,SELinux引入的访问控制机制
2. SELinux的监控级别
设定selinux的监控严苛程度
strict级别:严格级别,centos 5上的级别,每个进程都受到selinux的控制
targeted级别:仅有限个进程受到selinux控制,这里指的有限的进程通常为比较著名的程序,比如httpd、vsftpd
mls级别:分级别保护
minimum级别:修改过的targeted级别,只有选定进程才被限制
3.安全标签
selinux为每个文件及进程都提供了安全标签,可以使用命令ll -Z或ps auxZ查看,显示为用冒号分割的四个字段,格式为user:role:type:敏感度,通过第一 ...
Centos系统安装相关知识点
一、安装光盘的启动过程
第一步
CPU按照引导次序探测各设备,当读取到光盘中mbr时则开始引导光盘。安装光盘中也有用来模拟的mbr程序,其路径是安装光盘中的ioslinux/boot.cat文件,此时boot.cat类似于grub的第一阶段,由它去加载第二阶段
第二步
第二阶段的程序是isolinux/isolinux.bin,由boot.cat负责加载,其配置文件是isolinux/isolinux.cfg,第二阶段主要负责加载内核并向其传递参数,内核的程序文件是isolinux/vmlinuz
第三步
按照用户选的参数加载内核和initrd文件,解压、展开、挂载根文件系统,最后运行anaconda安装程序
第四步
anaconda基于用户的内存资源启动文本或图形界面
二、anaconda
1. 接口模式
tui接口:基于curses的文本窗口界面完成安装,当内存资源不足500M时自动启动,也可以显示指定启用文本窗口,
可在选定模式时敲tab键并追加test,或者敲Ese键并键入linux test
gui接口:图形窗口界面
2. 安装过程的三个阶段
安装前配置阶段
安装过程使 ...
Linux作业控制、定时任务计划、系统自带的邮件服务
一、作业管理
1. 作业类别
前台作业:通过终端启动,运行时占据命令行的作业
后台作业:启动后转入后台,释放命令行
虽然被送往后台运行,但其依然与终端相关,如果希望送往后台后剥离与终端的关系,在命令前加nohup
2. 作业调度
2.1 将作业由前台送往后台
运行中的作业:Ctrl+z
尚未启动的作业:COMMAND &
剥离与终端的关系:nohup COMMAND &
2.2 将作业由后台调回前台
fg [[%]JOB_NUM]:将后台作业调回前台,%有时不可省略
bg [[%]JOB_NUM]:让后台作业继续运行
kill [%JOB_NUM]:杀死指定后台任务,%不能省略,因为要区分指定的不是进程号
2.3 查看作业
命令格式:jobs [#]
输出信息+:带加号的作业是默认被调度回前台的-:加号的后一个作业
二、周期任务计划
任务计划实现的方式有两种,一种是在未来的某个时间点执行1次任务,这种一般使用at或batch命令。还有一种是需要周期性的运行某个任务,这种一般使用cron
1. at命令
指明一个时间点运行任务,可是直接使用at跟一个时间点,接 ...