C02S11-Linux系统的安全与控制

一、Linux系统启动过程

1. 开机自检

计算机加电后,BIOS会检查计算机的硬件状态,包括CPU、内存、硬盘等,确保所有的硬件可以正常工作。

2. MBR引导或GPT引导

开机自检完成后,BIOS会根据设置的启动顺序来查找启动设备(硬盘、U盘、光驱等)。MBR分区方案中,BIOS会从启动设备的MBR读取记录引导信息的扇区。这步的主要作用是,告诉计算机到启动设备的哪个位置去寻找操作系统。

3. GRUB菜单

完成MBR引导或GPT引导后,会启动引导加载程序,Linux系统上常见的引导加载程序是GRUB。GRUB是一个多操作系统引导管理器,允许用户在启动时选择不同的操作系统,或根据默认配置加载系统。GRUB会显示一个菜单,列出所有可启动的内核和操作系统选项。

4. 加载Linux内核

选择好操作系统后,GRUB会加载选定的操作系统内核以及初始内存映像(initramfs)。Linux内核是一个预先编译好的二进制可执行文件,介于各种硬件资源与系统程序之间, 负责资源分配与调度。初始内存映像是一个临时的文件系统,包含了启动Linux系统所需的基本工具和驱动程序。

5. init进程初始化

内核加载完成后,会启动init进程。这是Linux系统中的第一个进程,是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。init进程负责启动系统运行级别,根据配置文件(如/etc/inittab)或使用systemd的配置文件来启动系统服务和应用程序。

二、Linux服务控制

1. init和Systemd的比较

init依赖于串行执行Shell 脚本启动服务,导致效率低下,系统启动速度较慢。而Systemd能够将更多的服务进程并行启动,并且具有提供按需启动服务的能力,使得启动更少进程,从而提高系统启动速度 。

2. Systemd单元类型

2.1 Systemd单元概述

在Systemd中,不同类型的Systemd对象被称为单元,Systemd单元类型是用于定义系统启动和服务管理的不同种类的配置文件。每种单元类型对应不同的系统资源或服务,并定义了如何启动和管理这些资源或服务。

单元类型扩展名说明
Service.service描述一个系统服务
Socket.socket描述一个进程间通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述一个文件系统的挂载点
Automount.automount描述一个文件系统的自动挂载点
Swap.swap描述一个内存交换设备或交换文件
Path.path描述一个文件系统中文件或目录
Timer.timer描述一个定时器
Snapshot.snapshot用于保存一个systemd的状态
Scope.scope使用systemd的总线接口以编程的方式创建外部进程
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述一组systemd的单元

2.2 systemctl命令 – 管理系统服务

systemctl命令来自英文词组system control的缩写,功能是管理系统服务。Systemd服务的管理就是通过systemctl命令来实现的。

systemctl [选项] 控制命令 服务

常见的控制命令:

控制命令功能
start启动
stop停止
reload重新加载服务配置
restart重启
enable设置开机自启动
disable取消开机自启动
reenable重新设置开机自启动

2.3 运行级别

运行级别Systemd单元类型说明
0target关机
1rescue.target单用户模式
2multi-user.target字符串界面多用户模式
3multi-user.target字符串界面多用户模式
4multi-user.target字符串界面多用户模式
5graphical.target图形化界面多用户模式
6reboot.target重启
  • 可用使用runlevel查看系统当前的运行级别。

  • 可用使用init命令设置系统的运行级别。

    init 运行级别
    

三、Linux系统安全应用

1. 账号安全设置

1.1 系统账号清理

  1. 修改不需要登录的用户的Shell。

    usermod -s /sbin/nologin 用户
    
  2. 锁定长期不使用的用户账号。

    # usermod
    usermod -L 用户 # 锁定用户
    usermod -U 用户 # 解锁用户
    
    # passwd
    passwd -l 用户 # 锁定用户
    passwd -u 用户 # 解锁用户
    
  3. 删除长期不用的用户账号。

    userdel 用户 # 删除用户
    userdel -r 用户 # 删除用户的同时删除用户家目录
    

1.2 锁定重要文件

  1. 锁定与用户相关,比如psswd、shadow等重要文件。

    chattr +i 文件 # 锁定文件
    chattr -i 文件 # 解锁文件
    

2. 密码安全设置

2.1 密码有效期设置

  1. 适用于新建用户:修改/etc/login.defs文件,设置新建用户的密码有效期。

    PASS_MAX_DAYS # 密码的最长有效时间
    
  2. 适用于已建用户:使用change命令设置用户密码的有效期限。

    change -M 有效天数 用户
    

3. 历史命令限制

3.1 设置历史命令条数

  1. 编辑/etc/profile文件,在里面设置历史命令的保存条数。

    HISTSIZE=保存条数
    

    保存文件后,执行下面命令,刷新系统环境。

    source /etc/profile
    

4. 终端自动注销

4.1 设置终端最大空闲时间

  1. 编辑/etc/profile文件,在里面设置终端的最大空闲时间。当终端空闲时间超过设置的时间,终端就会断开连接。

    TMOUT=空闲时间 # 单位为秒
    
  2. 保存文件后,执行下面命令,刷新系统环境。

    source /etc/profile
    

四、用户提权设置

1. sudo命令– 授权普通用户执行管理员命令

sudo命令来自英文词组super user do的缩写,功能是授权普通用户执行管理员命令。

sudo 命令

在Ubuntu系统中,默认sudo可用让普通用户使用所有超级用户可以使用的命令。而在CentOS系统中,还需要通过设置授权普通用户执行某些指定的命令。

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

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

相关文章

Late Chunking×Milvus:如何提高RAG准确率

01. 背景 在RAG应用开发中,第一步就是对于文档进行chunking(分块),高效的文档分块,可以有效的提高后续的召回内容的准确性。而对于如何高效的分块是个讨论的热点,有诸如固定大小分块,随机大小分…

【深度学习】InstantIR:图片高清化修复

InstantIR——借助即时生成参考的盲图像修复新方法 作者:Jen-Yuan Huang 等 近年来,随着深度学习和计算机视觉技术的飞速发展,图像修复技术取得了令人瞩目的进步。然而,对于未知或复杂退化的图像进行修复,仍然是一个充满挑战的任务。针对这一难题,研究者们提出了 Insta…

qt获取本机IP和定位

前言: 在写一个天气预报模块时,需要一个定位功能,在网上翻来翻去才找着,放在这里留着回顾下,也帮下有需要的人 正文: 一开始我想着直接调用百度地图的API来定位, 然后我就想先获取本机IP的方…

(C++回溯算法)微信小程序“开局托儿所”游戏

问题描述 给定一个矩阵 A ( a i j ) m n \bm A(a_{ij})_{m\times n} A(aij​)mn​,其中 a i j ∈ { 1 , 2 , ⋯ , 9 } a_{ij}\in\{1,2,\cdots,9\} aij​∈{1,2,⋯,9},且满足 ∑ i 1 m ∑ j 1 n a i j \sum\limits_{i1}^m\sum\limits_{j1}^na_{ij} i…

数字隔离器与光隔离器有何不同?---腾恩科技

在电子隔离中,两种常用的解决方案是数字隔离器和光学隔离器。两者都旨在电气隔离电路的各个部分,以保护敏感元件免受高压干扰,但它们通过不同的技术实现这一目标。本文探讨了这些隔离器之间的差异,重点介绍了它们的工作原理、优势…

什么是多因素身份验证(MFA)的安全性?

多因素身份验证(MFA)简介 什么是MFA 多因素身份验证(MFA)是一种安全过程,要求用户在授予对系统、应用程序或账户的访问权限之前提供两种或多种形式的验证。仅使用单个因素(通常是用户名和密码)保护资源会使它们容易受到泄露,添加…

10天进阶webpack---(2)webpack模块兼容性处理

回顾CMJ和ESM的区别 CMJ的本质可以使用一个函数概括 // require函数的伪代码 function require(path){if(该模块有缓存吗){return 缓存结果;}function _run(exports, require, module, __filename, __dirname){// 模块代码会放到这里}var module {exports: {}}_run.call(mod…

Spring源码学习(五):Spring AOP

免责声明 本人还处于学习阶段&#xff0c;如果内容有错误麻烦指出&#xff0c;敬请见谅&#xff01;&#xff01;&#xff01;Demo <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.8<…

【全面解析】Stable Diffusion AI绘画入门教程,轻松掌握,让绘画新手也能快速上手!

前言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;AI绘画领域迎来了一场革命。StableDiffusion作为一款强大的AI绘画工具&#xff0c;以其稳定的图像生成能力和卓越的创造力赢得了广泛关注。本文将向您介绍StableDiffusion的核心特点及其在绘画创作中的广泛应用。同时…

stm32使用串口的轮询模式,实现数据的收发

------内容以b站博主keysking为原型&#xff0c;整理而来&#xff0c;用作个人学习记录。 首先在STM32CubeMX中配置 前期工作省略&#xff0c;只讲重点设置。 这里我配置的是USART2的模式。 会发现&#xff0c;PA2和PA3分别是TX与RX&#xff0c;在连接串口时需要TX对RX&…

openapi回调地址请求不通过

目录 1. 验证url接口get请求本地自测报错 2. 测试回调模式成功不返回结果 3. 测试回调模式返回结果带双引号 对接企业微信 产生会话回调事件 接口问题解决 1. 验证url接口get请求本地自测报错 java.lang.IllegalArgumentException: Last encoded character (before the pa…

软件设计师笔记-数据结构

数据结构 数据元素的集合及元素间的相互关系和构造方法。 线性表的存储结构 顺序存储链式存储 单链表节点 typedef struct node { int data; struct node *link; }NODE, *LinkList; 双向链表 每个节点有两个指针&#xff0c;分别指出直接前驱和直接后继。 循环链表 尾…

【javascript】console 对象提供的方法

文章目录 1、 console.dir() 打印对象2、console.table() 打印数组3、 console.clear() 清理控制台4、console.group() 控制打印组5、console.time() 完成计时 console.log 是一个很好的调试方式。但是 如果我们滥用它&#xff0c;效果反而会适得其反&#xff01;大量打印信息堆…

一:时序数据库-Influx应用

目录 0、版本号 1、登录页面 2、账号基本信息 3、数据库案例 4、可视化 5、java案例 0、版本号 InfluxDB v2.4.0 1、登录页面 http://127.0.0.1:8086/signin 账号&#xff1a;自己账号 密码&#xff1a;自己密码 2、账号基本信息 查看用户id和组织id&#xff01;&…

构建一个导航栏web

<!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}#menu{background-color:purple;width: 100px;height: 50px;}.item{float: left;/* 浮动标签可以让块标签&#xff0c…

JAVA基础:单元测试;注解;枚举;网络编程 (学习笔记)

单元测试 操作步骤&#xff1a; a.导包import org.junit; b.三个注解 Test Before After c.点击Test 运行就可以了 用在不需要控制台输入的情境下&#xff1a;javaweb&#xff0c;框架项目&#xff0c;微服务项目 供开发人员自己做测试。 package com.page…

Node.js-增强 API 安全性和性能优化

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;node.js篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来node.js篇专栏内容:node.js-增强 API 安全性和性能优化 前言 在前几篇文章中&#xff0c;我们已经构建了一个…

ThingsBoard规则链节点:Push to Edge节点详解

引言 1. Push to Edge 节点简介 2. 节点配置 2.1 基本配置示例 3. 使用场景 3.1 边缘计算 3.2 本地数据处理 3.3 实时响应 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 ThingsBoard 是一个开源的物联网平台&#xff0c;提供了设备管…

第二届计算机网络技术与电子信息工程国际学术会议(CNTEIE 2024,12月6-8日)

第二届计算机网络技术与电子信息工程国际学术会议&#xff08;CNTEIE 2024&#xff09; 2024 2nd International Conference on Computer Network Technology and Electronic and Information Engineering 官方信息 会议官网&#xff1a;www.cnteie.org 2024 2nd Internation…

A013-基于SpringBoot的宽带业务管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…