Linux复习--系统管理类(权限优化、备份策略、RAID、资源查看、启动流程、系统优化)

一、权限优化

1、文件的基本权限

以下知识点详细情况点击: Linux--用户身份和文件权限_linux用户文件权限-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/lerp020321/article/details/140232127

1.1、文件身份

身份分类:所有者(u)、所属组(g)、其他人(o)

身份修改

  • chown 所有者:所属组 filename
  • chgrp 所属组 filename
  • -R 归属递归选项

1.2、权限结构分析

文件类型、所有者权限、所有组权限、其他人权限

符号文件类型
-普通文件
d目录文件
l符号链接文件
b块设备文件
c字符设备文件
p管道文件
s套接字文件

1.3、文件的权限含义

  • r:文件内容查看权限(cat more less
  • w:文件内容编辑权限(vi echo)(但不能删除文件本身)
  • x:文件的执行权限

1.4、目录的权限含义

  • r:目录内文件列表查看权限(ls
  • w:目录内文件的增删、复制、剪切权限(touch rm cp mv
  • x:能否进入目录的权限(cd

1.5、权限修改

  • chmod [augo][+-=][rwx] filename
  • chmod 644 filename
  • -R 权限递归选项

1.6、注意事项

  • 给文件或目录分配权限时,先考虑所有者和所属组
  • 遵循最小化权限原则:用什么权限给什么权限
  • 修改目录及子文件归属或权限时,注意递归
  • 文件基本权限是最常用、也是最有效的Linux安全防护手段

2、默认权限

2.1、计算方法

官方方法为逻辑与逻辑非联合运算,建议使用权限字母方式计算

2.2、修改方法

  • 临时修改:umask 0022
  • 永久修改:配置文件:/etc/profile

2.3、注意事项

权限掩码目的是为了保证新建文件拥有默认权限,一般不需要手工设置

3、特殊权限

3.1、权限类型

  • Set UID(SUID)
  • Set GID(SGID)
  • Sticky Bit(SBIT)

3.2、权限命令

  • SUID:chmod u+s/4644 filename
  • SGID:chmod g+

3.3、注意事项

  • 特殊权限风险较大,禁止人为设置此类权限(SBIT权限风险较小)
  • 特殊权限是为了让特定命令可以拥有足够权限运行
  • 三个权限的操作对象有所区别,比如SUID只针对可执行文件文件,SGID可以针对可执行文件及目录,SBIT只能针对目录

4、ACL权限

4.1、权限命令

操作命令
添加setfacl -m ugo:rwx:user filename
删除setfacl -x ugo:user filename
清空setfacl -b filename
默认setfacl -d ugo:rwx:username dirname(只针对目录)
递归setfacl -R ugo:rwx:user filename
查看setfacl -m m:rwx filename

4.2、有效权限

设置:setfacl -m m:rwx filename

说明:有效权限是设置的ACL权限和mask权限相与的结果,也是最终生效权限

4.3、注意事项

  • ACL权限一般在用户对文件身份不足时使用
  • 使用ACL极易出现权限溢出,一定要注意使用(例如,对一个目录设置rwx权限并 递归执行)
  • 在对文件设置ACL权限后,文件的所属组位置显示的不再是所属组权限,而是mask权限
  • 注意区别-d和-R的区别:-d是保证后续新建文件拥有ACL权限,-R是为了让已存在的文件拥有ACL

5、sudo权限

5.1、配置文件

其配置文件路径为:/etc/sudoers;命令为:visudo

5.2、规则编写

编写规则的命令格式为:被授权者 可执行主机=(被授权者借用身份)可执行命令

5.3、执行规范

格式:sudo 授权命令(注意:五分钟内,再次执行授权命令不需要重复输入用户密码)

5.4、注意事项

  • /etc/sudoers文件尽量使用visudo命令编辑,有纠错功能
  • 授权时尽量授于具体的命令选项参数,以免出现过度授权,权限溢出问题
  • 配置文件中编写授权时,命令要写绝对路径

6、文件系统属性权限

6.1、查看:lsattr

其常用参数如下:

参数作用
-a显示所有文件和目录
-d若目标为目录,列出目录属性,不显示目录下文件属性

6.2、设置:chattr

参数作用
[+ -] i如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据 如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件
[+ -] a如果对文件设置a属性,那么只能在文件中增加数据,但不能删除也不能修改数据 如果对目录设置a属性,那么只能在目录中建立和修改文件,但是不允许删除

7、面试题

7.1、简述Linux权限划分原则

  • 注意权限分离(Linux系统权限、数据库权限不要掌握在同一个部门)
  • 权限在满足使用的情况下,最小优先
  • 减少使用root用户,尽量使用"普通用户+sudo提权"进行日常操作
  • 重要系统文件,如:/etc/passwd、/etc/shadow、/etc/fstab、/etc/sudoers等,日常建议使用chattr锁定,需要操作时再打开
  • 使用脚本检测系统中新增的SUID、SGID文件
  • 可以利用工具(如chkrootkit等)检测rookit脚本
  • 开启SSH服务密钥对登录,修改SSH服务端口

二、备份策略

问题引出:如果一个系统没有任何的备份策略,请写出一个较为全面合理的备份方案!

1、需要备份的目录

  • 重要系统目录:/etc/、/home/、/root/、/var/spool/mail/、/var/spool/cron/、/var/spool/at/
  • MySQL数据库
    • RPM包安装的MySQL:/var/lib/mysql
    • 源码包安装的MySQL:/usr/local/mysql/data/
  • Apache服务
    • 网站内容:/var/www/html/ | /usr/local/apache2/htdocs/
    • 配置文件:/etc/httpd/conf/httpd.conf | /usr/local/apache2/conf/httpd.conf
    • 日志文件:/var/log/httpd/ | /usr/local/apache2/logs/
  • 如果有其他服务,也需要备份重要数据

2、备份策略

  • 完整备份:cp、tar、dump、xfsdump
  • 增量备份:每次备份以前一次 备份作为参照(CentOS 6.x使用dump工具,CentOS 6.x使用xfsdump工具)
  • 差异备份:每次备份以第一次备份作为参照(实现命令同上)

3、备份频率

  • 实时备份:如MySQL主从同步

  • 定时备份:如每天、每周备份,一般通过"脚本+定时任务"实现

4、备份存储位置

基本原则:不要把鸡蛋放在同一个篮子中(本地备份、异地备份)

5、常见服务器的备份方案

  • 每日备份的数据(异地备份):MySQL数据库(主从备份之外,增量备份一次)

  • 每周备份的数据(异地备份):MySQL数据库(完整备份)、重要系统数据、网页数据、其他服务相关数据

6、类似面试题

网站服务器每天产生的日志数量较大,请问如何备份?

答:使用日志的切割与轮替功能;比如可以使用系统日志管理工具:logrotate;Apache服务配置文件自带日志切割功能,但是需要通过脚本进行轮替

三、RAID

问题引出:简述RAID0、RAID1、RAID5的特点与原理

以下知识点更详细情况点击: Linux--使用RAID与LVM磁盘阵列技术_raid1 需要lvm吗-CSDN博客

1、RAID 0(独立磁盘冗余阵列)

  • 必须使用两块或两块以上的硬盘组成

  • 每块硬盘的大小必须一致

  • 是所有动态磁盘中,数据读写最快的

  • 损坏几率相对较高

  • 没有磁盘容错功能

2、RAID 1

  • 由两块或2的倍数硬盘组成

  • 每块硬盘大小必须一致

  • 硬盘使用率只有50%,写入速度最慢

  • 拥有磁盘容错功能

3、RAID 5

  • 由三块或三块以上硬盘组成

  • 每块硬盘大小必须一致

  • 磁盘利用率是n-1块盘

  • 利用奇偶校验,拥有磁盘容错功能(只支持1块硬盘损坏)

4、RAID 6

  • RAID 6是RAID 5的增强版

  • 由4块或以上的硬盘组成

  • 每块硬盘大小必须一致

  • 磁盘利用率是n-2块盘

  • 支持磁盘容错,可以支持2块硬盘损坏

5、RAID 10

  • 必须有4块等大小的硬盘组成

  • 两两硬盘先组成RAID 1,再组成RAID 0

  • 兼顾RAID 0和RAID 1的特点,中和两种RAID的缺点

6、软RAID与硬RAID的区别

  • 软RAID:是由操作系统模拟的RAID,一旦硬盘损坏,操作系统就会损坏,RAID会丧失作用

  • 硬RAID:是由独立于硬盘之外的,硬件RAID卡组成;就算硬盘损坏,也不会导致RAID卡损坏,磁盘容错才能起作用。

四、资源查看

问题引出:Linux中有许多系统资源需要监管,请问有哪些命令可以查看?

1、CPU

2、内存

3、网络

4、磁盘

五、启动流程

问题引出:简述Linux启动过程

1、CentOS 6.x基本启动过程

  • 服务器加电,加载BIOS信息,BIOS进行系统检测

  • 加载启动引导程序(grub

  • 由grub加载系统内核

  • 系统内核重新自检,并加载硬件驱动

  • 由内核启动系统第一个进程/sbin/init

  • 由/sbin/init进程调用/etc/init/rcS.conf,进行系统初始化配置

  • 由/sbin/init进程调用/etc/inittab,确定系统的默认运行级别

  • 确定默认运行级别后,调用/etc/init/rc.conf配置文件

  • 运行相应的运行级别目录/etc/rc[0-6].d中的脚本

  • 在启动登录界面之前,执行/etc/rc.d/rc.local中的程序

2、CentOS 7.x基本启动过程

  • 服务器加电,加载BIOS信息,BIOS进行系统检测

  • 加载启动引导程序(grub2

  • 由grub2加载系统内核,内核重新自检

  • 由grub2加载initamfs虚拟文件系统

  • 内核初始化,以加载动态模块的形式加载部分硬件的驱动

  • 内核启动系统第一个进程,也就是systemd

  • systemd开始调用默认单元组(defualt.target),并按照默认单元组开始运行子单元组

    • systemd调用sysinit.target单元组,初始化系统

    • systemd调用basic.target单元组,准备操作系统

    • systemd调用multi-user.target单元组,启动字符界面所需程序

    • systemd调用multi-user.target单元组中的/etc/rc.d/rc.local文件,执行文件中的命令

    • systemd调用multi-user.target单元组中的getty.target单元组,初始化本地终端(tty)及登录界面,如果是字符界面启动,到此启动完成。

六、系统优化

问题引出:如何进行Linux系统优化

1、Linux系统优化策略

  • 禁用不需要的服务(ntsysv命令最为方便)

  • 避免直接使用root用户,普通用户通过sudo授权操作

  • 通过chattr锁定重要系统文件:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow/、/etc/inittab

  • 配置国内yum源,加快下载速度

  • 配置系统同时打开的最大文件数:vi /etc/profile、ulimit -SHn 65535

  • 同步时间服务器:ntpdate ntp1.aliyun.com、通过crond定时任务,让时间同步命令每5分钟执行一次

  • 更改ssh服务的默认端口,配置SSH密钥对登录

  • 配置合理的IPtables防火墙规则

  • 配置合理的SELinux安全上下文

  • 指定合理的监控策略

  • 定时备份系统重要文件

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

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

相关文章

C++ | Leetcode C++题解之第430题扁平化多级双向链表

题目&#xff1a; 题解&#xff1a; class Solution { public:Node* flatten(Node* head) {function<Node*(Node*)> dfs [&](Node* node) {Node* cur node;// 记录链表的最后一个节点Node* last nullptr;while (cur) {Node* next cur->next;// 如果有子节点…

golang学习笔记11-模块化与包管理【重要】

注&#xff1a;本人已有C&#xff0c;C,Python基础&#xff0c;只写本人认为的重点。 在第六节&#xff08;golang学习笔记6&#xff09;中&#xff0c;我讲了如何自定义包&#xff0c;包其实有两种引用方式&#xff0c;一种是不用模块&#xff0c;还有种是用模块&#xff0c;我…

Leetcode 543. 124. 二叉树的直径 树形dp C++实现

问题&#xff1a;Leetcode 543. 二叉树的直径&#xff08;边权型&#xff09; 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。两节点之间路径的 长度 由它们之…

创新学生宿舍管理:Spring Boot框架实践

第2章 开发环境与技术 学生宿舍管理系统的编码实现需要搭建一定的环境和使用相应的技术&#xff0c;接下来的内容就是对学生宿舍管理系统用到的技术和工具进行介绍。 2.1 MYSQL数据库 本课题所开发的应用程序在数据操作方面是不可预知的&#xff0c;是经常变动的&#xff0c;没…

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-20

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Ga…

《汇编语言》第14章——实验 14访问CMOS RAM

编程&#xff0c;以“年/月/日 时&#xff1a;分&#xff1a;秒”的格式&#xff0c;显示当前的日期、时间 assume cs:code data segment db 2024/09/23 00:00:00,$ data endscode segment start:mov ax,datamov es,axcall get_hms_funccall get_ymd_funcmov dh,12 ;dh中存放…

Beyond 5.5旗舰版和高级版激光软件

Beyond 5.5旗舰版和高级版激光软件具有以下一些特点和功能&#xff1a; 1. 强大的功能特性&#xff1a; • 多媒体支持&#xff1a;它是真正的多媒体控制激光软件&#xff0c;除支持基本的激光图案外&#xff0c;还支持视频、3D 动画和绘图程序等&#xff0c;为用户提供了丰富…

Springcloud框架-能源管理系统-能源管理系统源码-能源在线监测平台-双碳平台

一、介绍 基于SpringCloud的能管管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 有需者咨询&#xff0c;非诚勿扰&#xff1b; 二、软件架构 二、功能介绍 三、数字大屏展示 四、数据采集原理 五、软件截图

Windows11系统安装,配置CUDA、cuDNN等

已经有大几年没有安装过 Windows 的系统了&#xff0c;今天因为黑神话悟空&#xff0c;准备把 Win 11 装一台&#xff0c;玩玩游戏&#xff0c;顺便把一些 CUDA 相关的异步解析项目也安装到 Window 上。 下载安装 PE 因为十几年前&#xff0c;只会用 PE 装系统&#xff0c;所…

XSS闯关小游戏(前13关)

挖掘思路 1.存在可控参数 2.页面存在回显 3.使用带有特殊字符的语句去测试&#xff0c;网站是否进行了实例化 ( 例如 ">123 ) 4.构造闭合&#xff0c;实现payload的逃逸 1 name处参数可控&#xff0c;直接打即可 2 这里知道<>被实体编码了 再测试">1…

DANN GRL

域自适应是指在目标域与源域的数据分布不同但任务相同下的迁移学习&#xff0c;从而将模型在源域上的良好性能迁移到目标域上&#xff0c;极大地缓解目标域标签缺失严重导致模型性能受损的问题。 介绍一篇经典工作 DANN &#xff1a; 模型结构 在训练阶段需要预测如下两个任务…

langchain的构成

1.简介 langchain的构成其包含langchain-core,langchain-community,langchain,langgraph,langserve,langSmith。 2&#xff0c;构件的详解 ‌LangChain Core‌ ‌LangChain Core‌是LangChain框架的核心组成部分&#xff0c;它包含了不同组件的基本抽象以及将它们组合在一起…

【每天学个新注解】Day 4 Lombok注解简解(三)—@NonNull

我们在之前的三天学了Lombok常用的注解&#xff1a; 【每天学个新注解】Day 1 Lombok注解简解&#xff08;〇&#xff09;—Getter、Setter、ToString、EqualsAndHashCode、Constructor 【每天学个新注解】Day 2 Lombok注解简解&#xff08;一&#xff09;—Data、Build、Value…

Kubernetes调度单位Pod

Kubernetes调度单位Pod 1 Pod简介 不直接操作容器container。 一个 pod 可包含一或多个容器&#xff08;container&#xff09;&#xff0c;它们共享一个 namespace&#xff08;用户&#xff0c;网络&#xff0c;存储等&#xff09;&#xff0c;其中进程之间通过 localhost 本地…

iOS 巨魔技巧:一键汉化巨魔商店

嘿&#xff0c;这是黑猫。iOS 巨魔商店一直都有个严重的问题&#xff1a;界面纯英文&#xff0c;不支持简体中文。 当然了&#xff0c;在IT行业&#xff0c;英语是通用语言。但是&#xff0c;既然巨魔/越狱面向普罗大众的技术&#xff0c;那么做好语言适配&#xff0c;还是很关…

idea插件开发系列1-环境搭建

前言 还记着10多年前有幸接触了eclipse插件开发&#xff0c;10多年后的今天有开发了idea的插件&#xff0c;真是一个轮回&#xff01; 为什么要学习idea插件开发呢&#xff1f; 目前公司使用自己的MVC框架&#xff0c;没有相应的idea插件支持&#xff08;如类似mybatis插件可…

Redis简单介绍与安装应用

在当今的互联网时代&#xff0c;数据的快速存取和处理变得至关重要。Redis&#xff0c;作为一种高性能的键值存储系统&#xff0c;已经成为许多开发者和企业的首选。本文将简要介绍Redis的基本概念、工作原理以及其在实际应用中的一些典型用例。 一、简介 1&#xff09;概念 …

centos7 docker部署nacos

1. 一行代码安装git yum -y install git 2. 下载最新版nacos源码&#xff1a; git clone https://github.com/nacos-group/nacos-docker.git 进入nacos-docker文件 cd nacos-docker 3.docker安装数据库Mysql8 按这个来就行&#xff0c;非常好 Docker安装mysql8-超详细、每…

记某学校小程序漏洞挖掘

前言&#xff1a; 遇到一个学校小程序的站点&#xff0c;只在前端登录口做了校验&#xff0c;后端没有任何校验&#xff0c;奇葩弱口令离谱进去&#xff0c;站点里面越权泄露敏感信息&#xff0c;接管账号等漏洞&#xff01;&#xff01;&#xff01; 渗透思路 1.绕过前端 …

docker 创建showdoc服务 showdoc容器部署教程

1. 下载最新版本镜像 # 按照最新版本 docker pull star7th/showdoc 2. 创建映射文件夹&#xff1a; # 创建文件夹 mkdir -p /data/showdoc_data# 可写权限 chmod 777 /data/showdoc_data 3.创建容器命令&#xff1a; docker run -d --name showdoc --userroot --privileged…