linux操作系统的开机引导

一、linux操作系统的开机引导的过程

1、开机自检

根据bios的设置,对cpu,内存,显卡,键盘等设备进行初步检测,如果以上检测设备工作正常,系统会把控制权移交到硬盘

2、MBR引导/GPR引导

分区之后,需要创建文件系统,然后挂载,设备才能正常使用。

操作系统文件都是保存在硬盘,也就是系统的挂载点。MBR和GPT是由分区表组成的-->映射到挂载点。硬盘掌握系统控制权之后,根据分区表来查找操作系统的引导文件,MBR的硬盘第一个扇区的主引导记录,GPT默认的guid1

3、grub菜单

当计算机当中有一个以上的操作系统,就会有grub菜单,多个操作系统,用户可以自行选择需要的系统。控制权--->linux的内核。

4、加载linux的内核

内核是一个编译好的二进制可执行文件,介于硬件和操作系统之间,负责资源分配和调度。

5、systemd进程初始化

串行:按照顺序一个一个的进行

并行:一起执行

总结

检测出包含系统启动操作系统的设备;根据硬盘的分区表,找到操作系统的文件;根据grub菜单选择操作系统类型;加载操作系统的文件到内核;systemd进程初始化,并行处理减少了系统的开机时间

二、服务控制以及系统的运行级别

1、服务控制

systemd是一个管理linux系统服务和进程的管理器,使用单元UNIT,来描述和控制系统服务和资源。

单元种类

单元名称说明
service单元管理和启动系统服务以及第三方服务的单元
socket单元端口,监听网络的通信套接字
target单元一组服务的集合,用来描述系统或者服务的运行级别
path单元用来监控文件或者目录的状态
mount单元管理文件系统的挂载
device单元管理硬件设备的单元
swap单元用于管理交换空间的使用权,可以指定交换分区、优先级等
scope单元用于管理进程组,可以指定进程组的启动命令、资源限制等
slice单元用于管理进程组的资源配额,可以限制进程组的cpu、内存等资源使用
automount单元用于按需挂载文件系统,可以在需要使用时自动挂载指定的文件系统
snapshot单元用于创建和管理systemd系统的快照,可以备份和还原整个系统状态

端口:端口在主机上是唯一的,一旦被使用,其他程序就无法再被使用。它是服务通信的必要条件,也是服务识别的一个标志。

常见端口号

  • nginx    80
  • tomcat  8080
  • mysql   3306
  • ssh       22

单元控制的命令 

systemctl     #控制单元的命令

#控制的的状态

stop       停止

start       启动

restart   重启

reload   当修改了单元文件,需要reload重新加载单元文件

systemctl   daemon-reload

systemctl   reload   服务名

status    查看服务的状态

状态有三种,active,inactive,failed

 以nginx为例

 2.系统和进程的运行级别

runlevel

#查看系统运行级别的命令

 

  • N 表示当前系统没有切换过运行级别
  • 5 表示当前的运行级别

运行级别

运行级别systemd的单元类型说明
0target关机
1rescue.target单用户模式,不需要验证密码就可以登录系统(系统维护)
2multi-user.target字符串界面的多用户模式
3multi-user.target字符串界面的多用户模式
4multi-user.target字符串界面的多用户模式
5graphical.target图形化界面的多用户模式
6reboot.target 重启

通过init调整

init  0 ; poweroff   关机

init  6 ; reboot       重启

三、系统的基本加固和sudo权限

 1、账号安全基本措施

修改不需要登录的用户shell

usermod  -s  /sbin/nologin   用户名   #禁止用户登录

锁定长期不使用的账户或直接删除 

usermod  -L  用户名  #锁定   usermod  -U  用户名   #解锁

passwd    -l   用户名  #锁定   passwd    -u  用户名   #解锁

userdel    -r   #删除用户并删除家目录

锁定重要的文件

lsattr   文件的绝对路径    #查看文件状态 

 

 用户密码的有效期设置

新建用户:

vim  /etc/login.defs

useradd  -m  -s  /bin/bash   用户名

cat  /etc/shadow  |  grep  用户名    #查看结果

已有用户:

chage  -M   天数   用户名

 

 限制命令的历史记录

 

 

 vim   /etc/profile

HISTSIZE=50   #设置历史记录为50条

source  /etc/profile   #让修改过的配置文件生效

history   -c   #清空历史记录

登录超时

远程登录超时 

 vim  /etc/profile

TMOUT=10   #单位是s

一般设置为60-120s,为了实验见效快设置时间较短

source  /etc/profile   #使配置生效

 

2.sudo

 sudo   #赋予普通用户可以使用管理员命令的权限

/sbin    都是管理员可以用的命令文件

/bin      所有用户都可以使用的命令

/sbin 和 /bin 保存的都是系统可执行的命令文件

 

把lisi用户添加到sudoers中

su   -   root

visudo

lisi  ALL=(ALL)ALL

保存退出即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【c++丨STL】vector的使用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 vector简要介绍 一、vector的默认成员函数 构造函数(constructor) 析构函数(destructor) 赋值运算符重载operator 二、vector的容量接口…

[前端] 为网站侧边栏添加搜索引擎模块

前言 最近想给我的个人网站侧边栏添加一个搜索引擎模块,可以引导用户帮助本站SEO优化(让用户可以通过点击搜索按钮完成一次对本人网站的搜索,从而实现对网站的搜索引擎优化)。 最开始,我只是想实现一个简单的百度搜索…

Git - 两种方式撤销已提交到远端仓库的记录并删除提交记录

文章目录 命令行方式附 命令行方式 确定要撤销的提交记录 首先,使用以下命令查看提交历史: git log找到想撤销的提交记录的哈希值(SHA) ,比如9c9c98d6f7f28c41d971f8efd51ed31f9720792c 撤销提交记录 根据需求选择以下…

【命令执行waf绕过】

一、绕过空格 二、绕过黑名单 三、绕过长度限制 四、练习 发现了两个文件,cat读取,但是被过滤了: 用 I F S IFS IFS绕过读出index的源码,发现过滤了很多东西,黑名单过滤: 字符串拼接绕过: …

Beans模块之工厂模块注解模块AnnotatedGenericBeanDefinition

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

【毫米波雷达(三)】汽车控制器启动流程——BootLoader

汽车控制器启动流程——BootLoader 一、什么是Bootloader(BT)?二、FBL、PBL、SBL、ESS的区别三、MCU的 A/B分区的实现 一、什么是Bootloader(BT)? BT就是一段程序,一段引导程序。它包含了启动代码、中断、主程序等。 雷达启动需要由BT跳转到…

原生鸿蒙的竞争力到底如何?

目录 1. 崛起与挑战2. 安全机制3. 自动化检测前移4. 深入探讨开发者服务优势 1. 崛起与挑战 长期以来,移动操作系统市场被IOS和安卓所垄断,一直都难以推出完整的自主系统,面临诸多挑战,如推广困难、应用适配难度大,以及…

Unity SRP学习笔记(二)

Unity SRP学习笔记(二) 主要参考: https://catlikecoding.com/unity/tutorials/custom-srp/ https://docs.unity.cn/cn/2022.3/ScriptReference/index.html 中文教程部分参考(可选): https://tuncle.blog/c…

欧冠:拜仁进攻线持续飘红?

里斯本竞技最终4-1击败曼城,瓜迪奥拉的球队惨遭3连败。目前曼城的防线球员身体状态的确一般,一对一总是跟不上节奏,这也是曼城两次遭遇点球判罚的原因。当一个人失去希望时,眼神是空洞的,哈兰德下半场罚丢点球的时刻&a…

从0开始的STM32之旅8 串口通信(II)

目录 在开始理解底层原理之前,我们先尝试一下 怎么做 进一步理解 HAL_UART_Transmit HAL_UART_Receive 在开始理解底层原理之前,我们先尝试一下 现在我们综合一下,要求完成如下的事情: 在主程序中存在一个flag变量描述当前有…

HarmonyOS使用arkTS拉起指定第三方应用程序

HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用,需要用到两个必备的参数bundleName,abilityName,本篇就介绍如何获取参数… 代码及说明 bundle…

WPF之iconfont(字体图标)使用

1,前文: WPF的Xaml是与前端的Html有着高度相似性的标记语言,所以Xaml也可同Html一般轻松使用阿里提供的海量字体图标,从而有效的减少开发工作度。 2,下载字体图标: 登录阿里图标库网iconfont-阿里巴巴矢量…

猎板PCB2到10层数的科技进阶与应用解析

1. 单层板(Single-sided PCB) 定义:单层板是最基本的PCB类型,导线只出现在其中一面,因此被称为单面板。限制:由于只有一面可以布线,设计线路上有许多限制,不适合复杂电路。应用&…

HTML 标签属性——<a>、<img>、<form>、<input>、<table> 标签属性详解

文章目录 1. `<a>`元素属性hreftargetname2. `<img>`元素属性srcaltwidth 和 height3. `<form>`元素属性actionmethodenctype4. `<input>`元素属性typevaluenamereadonly5. `<table>`元素属性cellpaddingcellspacing小结HTML元素除了可以使用全局…

腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时

前言 也是尝试了各种解决方案之后&#xff0c;无果&#xff0c; 后来发现每个服务器提供商都有自己的镜像加速&#xff0c;且只给自家服务器使用&#xff0c;我用的腾讯云 教程 安装docker 直接上链接&#xff1a;云服务器 搭建 Docker-实践教程-文档中心-腾讯云 配置加速镜…

使用LNMP搭建私有云存储+内网穿透

目录 LNMP搭建私有云存储准备工作安装 内网穿透&#xff08;cpolar&#xff09; LNMP搭建私有云存储 准备工作 恢复快照&#xff0c;关闭安全软件 [rootserver ~]# setenforce 0 setenforce: SELinux is disabled [rootserver ~]# systemctl stop firewalld搭建LNMP环境 [r…

虚幻引擎5(UE5)学习教程

虚幻引擎5&#xff08;UE5&#xff09;学习教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games开发的一款强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作、建筑可视化等多个领域。UE5引入了许多先进的技术&#xff0c;如…

VBA02-初识宏——EXCEL录像机

一、录制宏 录制宏其实就是将一系列操作结果录制下来&#xff0c;并命名存储。这些操作可以是关于数据的处理、格式的设置、函数的运用等&#xff0c;相当于在编程语言&#xff08;如VB&#xff09;中定义的一个子程序。 在录制宏时&#xff0c;软件会记录用户执行的一系列操…

如何找到奥德彪视频素材?推荐视频素材网站

今天&#xff0c;我们来聊一个充满趣味的话题——奥德彪视频素材。即使你还不太了解这个名词&#xff0c;跟着我一起探索&#xff0c;你会发现这其实是一个非常有趣的旅程。接下来&#xff0c;我将推荐几个优秀的视频素材网站&#xff0c;帮助你找到想要的奥德彪视频素材。 蛙学…

vue3如何使用pinia设置全局状态,附常见面试题

1. stores/index.ts 文件 在 index.ts 中创建 store 实例并封装了注册逻辑&#xff0c;这样可以方便地将整个 Pinia 实例注册到 Vue 应用中。代码如下&#xff1a; import type { App } from vue import { createPinia } from piniaconst store createPinia()// 全局注册 st…