Linux基础 | 青训营笔记

116 阅读5分钟

theme: juejin

网络安全(计网补充)

三要素:

  • 机密性:攻击者不知道通信内容

加密算法+密钥等信息统称秘密信息, 网络是明文的,不安全

  • 完整性:攻击者篡改内容时会被发现
  • 身份验证(通信双方需先有秘密信息,如根证书的公钥):攻击者无法伪装

数字签名(对公开内容如包含公钥的证书):对明文内容哈希值使用私钥加密,验证者用公钥验证

数字签名(指纹)=私钥加密(密码散列函数原文)

消息=原文+数字签名

根证书是证书链(验证一连串证书)的尽头,分发并验证证书PKI

加密方式:

  • 对称加密:加密解密同样密钥
  • 非对称加密:加密、解密使用不同的密钥(公钥和私钥),公钥加密用私钥解密,反之亦然

密码散列函数(哈希函数)

输入:任意长度内容

输出:固定长度的哈希值

性质:找到两个不同输入,使得经过密码散列函数后,有相同哈希值,在计算上不可能

https

即把http的明文换成密文,再验证身份 HTTPS=HTTP+TLS

TLS=身份验证+加解密

服务端身份验证靠PKI,客户端身份验证靠HTTP协议

Linux基础

计算机基本单元

控制器、运算器、存储器单元(内存、外存))、输入单元、输出单元

操作系统

承上启下,管理和控制计算机系统中的软硬件资源

操作系统本身是个程序

启动模式1:Power UP-- BIOS--BIOS 自检--Bootloader --OS

启动模式2(优化升级):Power UP--UEFI --Bootloader--OS

Linux系统概览

1969 Unix诞生贝尔实验室

内核版本、发行版本(=linux内核+常用软件)

发行版本如Debian系列、Red Hat系列、Slackware系列、国产(龙芯、鲲鹏、飞腾)

shell命令

uname -acat /proc/version查看当前linux内核版本

cat /etc/os-release查看是哪个发行版本

应用领域

IT服务器(操作系统、虚拟化、云计算)、 嵌入式、智能设备、个人办公桌面、学术研究和软件研发

Linux 系统包括:

  • 内核
  • shell(命令解释器)
  • 文件系统
  • 应用程序

体系结构:用户空间(应用程序+glbc)和内核空间(系统调用、内核、与平台架构相关

内核是软硬件间的中间层、是资源管理程序、提供一组面向系统的命令

底层至上层:

文件系统--进程管理监控(如22的ssh端口)目前是主流的--命令行

进程管理

进程=正在执行的一个程序或命令

每个进程执行时间几乎相同

对于逻辑CPU 进程调度使用轮询方式,轮询完成则回到第一个进程反复(防止被饿死)

拥有自己的地址空间、占用一定系统资源

1个CPU核同时只能进行1个进程-->进程调度

进程由进程ID(PID)和父进程ID(PPID)唯一识别

ps -ef | grep nginx 查看启动点nginx进程

top -p 93824 查看某个进程

kill 93824 关闭指定进程

top 全部进程动态实时视图

进程调度

R 可执行状态

S 可中断的睡眠状态

D 不可中断的睡眠状态

T 暂停或跟踪状态

Z 退出状态 进程是僵尸进程

X 退出状态 进程将被摧毁

用户态转内核态需要中断

文件系统

负责管理持久数据的子系统,把用户文件存到磁盘硬件,持久化保存文件

Linux一切皆文件

  • 普通文件
  • 目录
  • 设备
  • 套接字

采用树状的目录结构

虚拟文件系统VFS

查看文件系统类型

  • df -T 文件系统磁盘空间利用率
  • mount 挂载文件系统,不带任何参数运行,会打印包含文件系统在内的磁盘分区信息

ls查看文件夹下内容

mkdir demo创建文件夹

mv demo /home移动文件夹到home目录

rm -r demo 删除文件夹

touch file.txt创建空文件

cp file.txt file_bak.txt 复制文件

用户权限

用户账号

  • 普通用户
  • 超级用户 组账号
  • 标准组:多个用户
  • 私有组:仅用户自己

w 查看当前登录的用户信息

groups 查看当前用户所属的组

id xxxx 查看用户的UID 信息

用户的三个概念:所有者、所在组、其他人

权限:读R、写W、执行X

drwxr-xr-x 第一个字母是文件类型,接着后三个三位分别是所有者,所在组,其他人

微信图片_20230414174705.png

软件包

通常指一个应用程序(可以是GUI应用程序、命令行工具或其他软件需要的软件库)

底层工具(安装删除软件包文件)、上层工具(数据搜索任务、依赖解析任务)

Debian APT常用命令

列出所有可更新的软件清单命令:apt update

安装指定的软件:apt install 文件名

安装多个软件包:apt install 包名1 包名2

更新指定的软件命令:apt update 文件名

删除软件包:apt remove 文件名

查找软件包:apt search 关键词

列出已安装的包: apt list --install

通常Debian系的Linux软件源配置文件:/etc/apt/sources.list

/dists 查看系统代号

/pool 查看软件分支