C02S11-Linux系统的安全与控制

news/2024/11/7 12:32:21/

一、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系统中,还需要通过设置授权普通用户执行某些指定的命令。


http://www.ppmy.cn/news/1545056.html

相关文章

模块化开发 webpack

模块化开发 & webpack 1、模块化开发 & webpack1.1 webpack 执行过程1.1.1 初始化1.1.2 编译1.1.3 输出 2.1 webpack 基础配置2.1.1 Entry2.1.1.1 context2.1.1.2 Entry类型 2.1.2 output2.1.2.1 filename2.1.2.2 publicPath2.1.2.3 path2.1.2.4 libraryTarget 和 libr…

Pytorch学习--神经网络--现有网络模型的使用及修改

一、VGG16 weights (Optional[VGG16_Weights]): 这个参数是可选的,指的是预训练的权重。用户可以选择使用不同的预训练权重,具体可参见 VGG16_Weights 的详细说明。默认情况下,如果不提供此参数,模型将不会使用任何预训练权重。 p…

Java学习路线:Maven(二)scope、optional和exclusions

目录 scope optional exclusions 我们知道,一般来说一个依赖由三个基本的属性作为定位坐标,即groupId、artifactId和version 除了这三个基本属性以外,依赖还可以添加其他的属性,例如scope、optional和exclusions等 这篇文章将…

轻量级Nacos来了!占用资源极低,性能炸裂!

Nacos作为一款非常流行的微服务注册中心,我们在构建微服务项目时往往会使用到它。最近发现一款轻量级的Nacos项目r-nacos,占用内存极低,性能也很强大,分享给大家。本文就以我的mall-swarm微服务电商实战项目为例,来聊聊…

Docker篇(registry私服)

目录 一、私有仓库搭建与配置 1. 拉取私有仓库镜像(此步省略) 2. 启动私有仓库容器 3. 打开浏览器访问 4. 修改daemon.json 5. 重启docker 服务 二、镜像上传至私有仓库 1. 标记此镜像为私有仓库的镜像 2. 再次启动私服容器 3. 上传标记的镜像 …

必应国内广告开户代理商,推广怎么收费?

2024年,必应国内广告凭借其独特的优势,已经成为众多企业拓展市场、提升品牌影响力的重要渠道。 一、必应国内广告费用说明 1、必应开户费用:通常情况下,必应国内广告推广需要媒体预充值5000元,开户服务费用为 2000 元…

微信小程序 基于协同过滤算法的的校园音乐推荐系统

文章目录 项目介绍具体实现截图技术介绍mvc设计模式小程序框架以及目录结构介绍错误处理和异常处理java类核心代码部分展示详细视频演示源码获取 项目介绍 校园音乐推荐系统设计的目的在于帮助学校的管理者能够更加高效轻松地进行日常的管理工作,所以作为一个工具&…

第一章 Linux安装 -- 安装Debian 12操作系统(四)

文章目录 2.3.4 安装Debian 12操作系统 2.3.4 安装Debian 12操作系统 虚拟机的创建参照前面2.3.1.3节里的步骤创建,这里不再详述。 下面就开始安装Debian 12系统了,单击“开启此虚拟机”,如图1-161虚拟机主界面。 图1-161 虚拟机主界面 弹…