Linux服务控制及系统基本加固

一. liunx操作系统的开机引导的过程


1. 开机自检

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

总结:检测出包含系统启动操作系统的设备,硬盘,U盘,光驱

2. MBR引导/gpt引导

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

MBR和gpt是由分区表组成 -----> 映射到挂载
硬盘掌握系统控制权之后,根据分区表来找操作系统的引导文件,mbr的硬盘第一个扇区的主引导记录。
GPT:默认的guid是1
总结:根据硬盘的分区表,找到操作系统的文件。识别系统中的操作系统
控制权------->grub引导程序

3. grub菜单

当计算机当中有一个以上的操作系统,就会有这个grub菜单,多个操作系统,用户可以自行选择需要的系统。

控制权  ----->  linux的内核

加载了操作的文件,加载系统的内核。

4. 加载linux的内核

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

总结: 内核和镜像文件系统加载到内存,也就是把系统初始化需要的程序和资源放入内存当中。

5. systemd进程初始化

串行:按照顺序,一个一个的执行。

并行:一起执行。

systemd进程初始化:系统加加载到内核的程序和资源并行处理。大大提高了系统的开机时间。

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

1. 服务控制

systemd是一个管理linux系统服务和进程的管理器

使用单元UNIT,来描述和控制系统服务和资源

service 单元:管理和启动系统服务以及第三方服务的单元.service

socket 单元:端口,监听网络的通信套接字

常见端口:

nginx:80

tomcat: 8080

mysql: 3306

ssh: 22

端口号在主机上唯一的,一旦被使用,其他程序就无法再使用。

系统日志:ubuntu: /var/log/syslog      
                centos: /var/log/messages    

服务通信的必要条件也是服务识别的一个标志。

target单元:是一组服务的集合,用来描述系统或者服务的运行级别。

path单元:用来监控文件或者目录的状态

mount单元:管理文件系统的挂载

Device单位:管理硬件设备的单元

... ...

Swap 单元(.swap):用于管理交换空间的使用,可以指定交换分区、优先级等。

Device 单元(.device):用于管理硬件设备,可以指定设备文件、驱动程序、设备属性等。

Scope 单元(.scope):用于管理进程组,可以指定进程组的启动命令、资源限制等。

Slice 单元(.slice):用于管理进程组的资源配额,可以限制进程组的 CPU、内存等资源使用。

Automount 单元(.automount):用于按需挂载文件系统,可以在需要使用时自动挂载指定的文件系统。

Snapshot 单元(.snapshot):用于创建和管理 Systemd 系统的快照,可以备份和还原整个系统状态。

2. 单元控制的命令

systemctl  + 控制的状态

start 启动   例:systemctl start nginx

stop 停止   例:systemctl stop nginx

restart 重启    例:systemctl restart nginx

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

例:

systemctl daemon-reload 加载所有

systemctl reload nginx 加载个别

status:查看服务的状态

root@du:~# kill -9 1885    #kill关闭
root@du:~# systemctl status nginx
× nginx.service - nginx - high performance web serverLoaded: loaded (/lib/systemd/system/nginx.service; disabled; vendor preset: enabled)Active: failed (Result: signal) since Wed 2024-11-06 11:30:41 CST; 3s agoDocs: http://nginx.org/en/docs/Process: 1884 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited,>Main PID: 1885 (code=killed, signal=KILL)CPU: 23ms11月 06 11:27:56 du systemd[1]: Starting nginx - high performance web server...
11月 06 11:27:56 du systemd[1]: Started nginx - high performance web server.
11月 06 11:30:41 du systemd[1]: nginx.service: Main process exited, code=killed, status=9/KILL
11月 06 11:30:41 du systemd[1]: nginx.service: Failed with result 'signal'.[4]+  已停止               systemctl status nginx.serviceroot@du:~# systemctl start nginx    #启动
root@du:~# systemctl status nginx
● nginx.service - nginx - high performance web serverLoaded: loaded (/lib/systemd/system/nginx.service; disabled; vendor preset: enabled)Active: active (running) since Wed 2024-11-06 11:30:53 CST; 3s agoDocs: http://nginx.org/en/docs/Process: 1901 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited,>Main PID: 1902 (nginx)Tasks: 2 (limit: 4545)Memory: 1.1MCPU: 12msCGroup: /system.slice/nginx.service├─1902 "nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.con>└─1903 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">11月 06 11:30:53 du systemd[1]: Starting nginx - high performance web server...
11月 06 11:30:53 du systemd[1]: nginx.service: Can't open PID file /usr/local/nginx/run/nginx.pid (yet?) >
11月 06 11:30:53 du systemd[1]: Started nginx - high performance web server.[5]+  已停止               systemctl status nginx.serviceroot@du:~# systemctl stop nginx     #停止
root@du:~# systemctl status nginx
○ nginx.service - nginx - high performance web serverLoaded: loaded (/lib/systemd/system/nginx.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: http://nginx.org/en/docs/11月 06 11:27:56 du systemd[1]: Starting nginx - high performance web server...
11月 06 11:27:56 du systemd[1]: Started nginx - high performance web server.
11月 06 11:30:41 du systemd[1]: nginx.service: Main process exited, code=killed, status=9/KILL
11月 06 11:30:41 du systemd[1]: nginx.service: Failed with result 'signal'.
11月 06 11:30:53 du systemd[1]: Starting nginx - high performance web server...
11月 06 11:30:53 du systemd[1]: nginx.service: Can't open PID file /usr/local/nginx/run/nginx.pid (yet?) >
11月 06 11:30:53 du systemd[1]: Started nginx - high performance web server.
11月 06 11:43:03 du systemd[1]: Stopping nginx - high performance web server...
11月 06 11:43:03 du systemd[1]: nginx.service: Deactivated successfully.
11月 06 11:43:03 du systemd[1]: Stopped nginx - high performance web server.[7]+  已停止               systemctl status nginx

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

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

N5 

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

5:表示当前的运行级别

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

命令:     init
init 0       poweroff     关机
init 6       reboot        重启

切换运行权限没意义:

工作中的操作系统是没有图形化界面的,系统的默认级别都是3

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

1、账号的安全措施

修改不需要的登录的用户的shell

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

锁定长期不使用的账户

usermod -L   用户名      usermod -U    解锁    

passwd -l    用户名        passwd -u     解锁

删除长期不使用的账户

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

2、锁定重要的文件

chattr +i  #锁定文件,不能再对文件进行编辑,只读模式(包括root)

chatrr -i  #解锁

只能针对文件

Isattr 文件名

查看文件的状态

3、用户密码的有效期控制

1、适用于新建用户

vim /etc/login.defs

165行 修改密码的最长有效天数

2、适用于已有用户

chage -M 30 dn  #修改已有用户的密码最长有效期 30天

4、限制命令历史的记录

history  #查看命令历史记录

history -c   #清空历史记录

vim /etc/profile

HISTSIZE=50       #华为一般设置为50~80

source /etc/prbfile

5、登录超时时间

远程连接的超时时间

vim /etc/profile

TMOUT=10       #单位为秒,推荐120秒

source /etc/prbfile

10秒钟之内,如果远程连接方没有任何操作,自动断开远程连接

四. sudo

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

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

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

保存都是系统可执行的命令文件

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

k8s 处理namespace删除一直处于Terminating —— 筑梦之路

问题现象 k8s集群要清理某个名空间,把该名空间下的资源全部删除后,删除名空间,一直处于Terminating状态,无法完全清理掉。 如何处理 为什么要记录下这个处理的步骤,经过查询资料,网上也有各种各样的方法&…

百货零售行业信息化蓝图整体规划方案|165页PPT

文件《百货零售行业信息化蓝图整体规划方案》是一份针对百货零售行业的信息化转型和供应链低碳解决方案的详细规划报告。以下是对报告的主要内容的分析和总结: 1. 项目概况 议程:包括项目概况、蓝图工作汇报、业务方案概览、详细业务方案、下阶段工作计…

SQL,力扣题目571, 给定数字的频率查询中位数

一、力扣链接 LeetCode_571 二、题目描述 Numbers 表: ------------------- | Column Name | Type | ------------------- | num | int | | frequency | int | ------------------- num 是这张表的主键(具有唯一值的列)。 这张表的每一行表示某个数…

move_base

move_base 官方介绍:http://wiki.ros.org/move_base 如果在仿真环境下, sensor source、odometry source 和 sensor transforms 都已提供好,我们只需要完成以下部分: 一、编写导航程序 ①创建 ROS 工作空间 和 pkg 包 mkdir -p …

标签权重的计算方法之贝叶斯平滑

贝叶斯平滑(Bayesian Smoothing)是一种平滑技术,用于解决评分和标签数据中的样本稀疏性问题。在某些推荐系统或广告点击率预估的场景中,我们可能会遇到标签(例如点击次数和曝光次数)不均衡的问题&#xff0…

QML项目实战:自定义Switch按钮

目录 一.添加模块 1.QtQuick.Controls 2.1 2.QtGraphicalEffects 1.12 二.自定义Switch 三.标签 四.效果 五.代码 一.添加模块 1.QtQuick.Controls 2.1 QtQuick.Controls 提供了一组预定义的 UI 控件,这些控件可以用于构建现代、响应式的用户界面。它包括按…

【勘误笔记】J-LINK连接不上芯片问题

1. 常见的问题 https://mp.weixin.qq.com/s/Ik1czY0jiUkZK21qmeF-yA#rd 2. 记录问题 烧录的固件起始地址为0x08004000 芯片烧录后导致,后面使用J-LINK怎么样都连接不上, 当时硬件是BOOT 0接地应该是上电进入flash代码有问题 考虑到启动模式 把BOOT 0不…

职场高手揭秘,细节如何左右你的成败与升迁之路

身在职场,每一个人都想得到老板的器重,能不断地加薪、升职,从而获得职场的成功。但你知道,影响一个人职场成功,或者说影响升职加薪的最重要因素是什么吗? 许多人会说那要靠运气,也有人认为工作…

SSM大学生校园交流论坛-计算机设计毕业源码31910

摘 要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了大学生校园交流论坛的开发全过程。通过分析大学生校园交流论坛管理的不足,创建了一个计算机管理大学生校园交流论坛的方案。文章介绍了大学生校园交…

c语言简单编程练习9

1、输入一个整数&#xff0c;判断它是否为回文数 例&#xff1a;输入&#xff1a;12321 输出&#xff1a;该数是回文数 输入&#xff1a;12323 输出&#xff1a;该数不是回文数 #include <stdio.h> int huiwenshu(int num) {int a[100];int i, n, j…

技术面没过,竟然是因为我没用过Pytest框架?

01 概述 pytest是一个非常成熟的全功能的Python测试框架&#xff0c;主要特点有以下几点&#xff1a; 简单灵活&#xff0c;容易上手&#xff0c;文档丰富&#xff1b; 支持参数化&#xff0c;可以细粒度地控制要测试的测试用例&#xff1b; 能够支持简单的单元测试和复杂的…

通用方式创建未知文件后缀文件

困惑&#xff1a;比如平时想创一个类似&#xff1a;Dockerfile 文件如何玩&#xff1f; entrypoint.sh 如何玩&#xff1f; windows平台&#xff0c;直接命令行&#xff1a; mac平台或者linux平台也类似

如何用PPT画箭头?用这2个ppt软件快速完成绘图!

ppt怎么画箭头&#xff1f; 有时在ppt中绘制流程图或传达承上启下的含义时&#xff0c;会用到箭头形状&#xff0c;运用到箭头元素来增强表达的清晰度和逻辑性。那可能有人会问&#xff0c;ppt怎么画箭头&#xff1f; 这似乎是一个小问题&#xff0c;但如果你对ppt工具不够熟…

自攻螺钉的世纪演变:探索关键设计与应用

自攻螺钉作为现代工业和建筑中的不可或缺的标准部件&#xff0c;经过了超过100年的发展和创新。从1914年最早的铁螺钉设计到今天的自钻自攻螺钉&#xff0c;自攻螺钉的设计不断优化&#xff0c;以适应更复杂的应用需求。本文将回顾自攻螺钉的演变历程&#xff0c;分析其设计原理…

HTB:PermX[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many TCP ports are listening on PermX? 使用nmap对靶机TCP端口进行开放扫描 2.What is the default domain name used by the web server on the box? 使用curl访问靶机80端口 3.On what subdomain of permx.htb is there an o…

Python 项目国际化:使用 Babel 实现多语言支持

文章目录 如何使用 Babel 实现 Python 项目国际化1. 安装 Babel2. 设置项目目录结构3. 标记可翻译的文本4. 提取可翻译的文本生成文件 —— 生成pot文件4.1 有配置文件方式&#xff08;使用 babel.cfg&#xff09;4.1.1. 创建 babel.cfg 文件4.1.2. 提取翻译内容 4.2 无配置文件…

信号-2-信号捕捉

相关概念&#xff1a;递达 未决 / 阻塞 忽略 阻塞 vs 忽略 阻塞&#xff1a; 如果指定信号信号被阻塞&#xff0c; block期间该信号不能被递达&#xff0c;一直在pending表中。知道block被撤销后&#xff0c; 该信号才能递达&#xff0c;递达后对应pending位置置零。 忽…

正则表达式1 re.match惰性匹配详解案例

点个关注 re.match() re.match() 函数尝试从字符串的开头开始匹配一个模式&#xff0c;如果匹配成功&#xff0c;返回一个匹配成功的对象&#xff0c;否则返回None。大小写区分&#xff0c;内容匹配不到后面的,只能匹配一个&#xff0c;不能有空格&#xff08;开头匹配&#…

如何针对云计算安全进行等保测评?

等级保护作为我国网络安全法明确的重要制度&#xff0c;已在我国信息系统安全保驾护航中发挥着重要作用。目前&#xff0c;等级保护已经进入了2.0时代&#xff0c;“云、大、物、移、工控”纳入等保监管。 当前&#xff0c;按照传统等级保护技术要求实施的安全策略已经不能适应…

软考:性能测试的几个方面

性能测试的指标&#xff1a; 响应时间&#xff0c;吞吐量&#xff0c;并发用户数&#xff0c;资源利用率等 四个方面&#xff1a; 1、发现缺陷 2、性能调优 3、评估系统能力&#xff0c;不仅需要&#xff0c;还需要。 4、验证稳定性和可靠性