当前位置: 首页 > news >正文

Linux——进程的优先级、ACL

一、系统性能调优

 Redhat7和centos7默认安装并启动了tuned服务

  实验

[root@user ~]# tuned-adm list                    //查看所有的调优方案

[root@user ~]# tuned-adm recommend         // 查看推荐的调优方案

virtual-guest

适用于作为虚拟机客户机运行的设备,基于throughput-performance策略

在throughput-performance策略基础上,修改了vm.dirty_ratio

vm.dirty_ratio 是 Linux 操作系统中与磁盘缓存相关的内核参数。这个参数指定了当文件系统缓存中的脏页(Dirty Pages)数量达到系统总内存(RAM)的某个百分比时,系统会开始同步地将这些脏页写回到磁盘中.

vm.dirty_ratio 参数的值表示了一个阈值

[root@user ~]# tuned-adm profile balanced //调整调优方案为指定的方案

[root@user ~]# tuned-adm active // 查看目前启用的调优方案

Current active profile: balanced

[root@user ~]#

[root@user ~]# tuned-adm auto_profile // 自动调整调优方案

[root@user ~]# tuned-adm active   // 查看目前启用的调优方案

二、进程优先级调整

计算进程优先级的公式:PRI (优先级) = PRI(初始优先级 80|20) + NICE(相对优先级 -20~19)

初识优先级的值不是不会发生改变的,以相对优先级作为调整优先级的方式。

优先级的值越高,优先级越低

# top查看优先级

nice // 创建进程的时候,为nice赋值

nice -n [-20-19] 命令

renice //重新设定NICE的值

renice -n  [-20-19]  进程PID

普通权限回顾

XXXX 用户 对于文件  具备xxx 权限

属主 属组 其他人

读  写  执行

三、ACL

(Access Control List/访问控制列表)

  • getfacl:获取某个文件/目录的ACL设置选项
  • setfacl:设置某个文件/目录的ACL规范

getfacl  [选项]  文件 ...

  -a,  --access           仅显示文件访问控制列表
  -d, --default           仅显示默认的访问控制列表
  -c, --omit-header       不显示注释表头
  -e, --all-effective     显示所有的有效权限
  -E, --no-effective      显示无效权限
  -s, --skip-base         跳过只有基条目(base entries)的文件
  -R, --recursive         递归显示子目录
  -L, --logical           逻辑遍历(跟随符号链接)
  -P, --physical          物理遍历(不跟随符号链接)
  -t, --tabular           使用制表符分隔的输出格式
  -n, --numeric           显示数字的用户/组标识
  -p, --absolute-names    不去除路径前的 '/' 符号
  -v, --version           显示版本并退出
  -h, --help              显示本帮助信息

setfacl [参数] 文件或者目录名
-b清空扩展访问控制列表策略
-d应用到默认访问控制列表
-k移除默认访问控制列表
-L跟踪符号链接文件
-m更改文件访问控制列表策略,不可与-x合用
-P找到符号链接对应的文件
-R递归处理所有子文件
-x根据文件中访问控制列表移除指定策略
--help显示帮助信息
--version

显示版本信息

最简单的【u:账号:权限】设置

设置规范为 【u/g/m:使用者账号/用户组名:rwx】

u:针对用户

g:针对用户组

m:针对有效权限

设置acl

 实验

[root@user ~]# useradd user1
[root@user ~]# ll /test/aaa
-r--r--r--. 1 student root 18 May  8 16:14 /test/aaa
[root@user ~]# setfacl -m u:user1:rw /test/aaa		//设置ACL
[root@user ~]# ll /test/aaa
-r--rw-r--+ 1 student root 18 May  8 16:14 /test/aaa
[root@user ~]# getfacl /test/aaa			//查看设置的ACL
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:user1:rw-
group::r--
mask::rw-
other::r--[root@user ~]# setfacl -m u:1005:6 /test/aaa			//通过数字而不是字母表示权限
[root@user ~]# getfacl /test/aaa
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:user1:rw-
user:1005:rw-
user:user2:r-x
group::r--
mask::rwx
other::r--[root@user ~]# setfacl -m u:student:1 /test/aaa
[root@user ~]# getfacl /test/aaa
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:student:--x
user:user1:rw-
user:1005:rw-
user:user2:r-x
group::r--
mask::rwx
other::r--

 

  1. # file: test/aaa - 这是 ACL 应用到的文件或目录的路径。注意这里并没有前导的斜杠 /,这通常是因为 getfacl 命令在处理绝对路径时会自动去除它。
  2. # owner: root - 文件的属主是 root
  3. # group: root - 文件的属组也是 root
  4. user::rw- - 文件所有者(在这个例子中是 root)有读(r)和写(w)权限,但没有执行(x)权限。
  5. user:user1:rw- - 用户 user1 也有读和写权限。
  6. group::r-- - 文件所属的组(在这个例子中是 root 组)只有读权限。
  7. mask::rw- - mask 权限决定了除了文件所有者和其他用户之外的用户和组的最大权限。在这个例子中,mask 设置为 rw-,这意味着即使用户或组在 ACL 中被赋予了更多的权限,他们也只会被允许读和写。
  8. other::r-- - 其他用户只有读权限。

 设置掩码

m:针对有效权限

 有效权限(mask)的意思为规范最大允许范围,所以当mask的权限只有r时,redhat用户权限最大也只有r,x权限并不生效

[root@user ~]# ll /test/aaa
-r--rwxrwx+ 1 student root 18 May  8 16:14 /test/aaa
[root@user ~]# setfacl -m m::rw /test/aaa        //设置掩码
[root@user ~]# getfacl /test/aaa
getfacl: Removing leading '/' from absolute path names
# file: test/aaa
# owner: student
# group: root
user::r--
user:student:--x                #effective:---
user:user1:rw-
user:1005:rw-
user:user2:r-x                  #effective:r--
group::r--
mask::rw-
other::rwx

设置递归

[root@user ~]#

[root@user ~]# touch /test/one/abc

[root@user ~]# ll /test/one/

total 0

-rw-r--r--. 1 root    root    0 May  8 17:03 abc

-rw-rw-r--. 1 student student 0 May  8 16:20 bbb

drwxr-xr-x. 2 student root    6 May  8 16:15 yi

[root@user ~]# setfacl -R  -m u:user1:rX /test/one/ //递归到目前目录下所有的文件

[root@user ~]# getfacl /test/one/

getfacl: Removing leading '/' from absolute path names

# file: test/one/

# owner: student

# group: root

user::rwx

user:user1:r-x

group::r-x

mask::r-x

other::r-x

[root@user ~]# getfacl /test/one/abc

getfacl: Removing leading '/' from absolute path names

# file: test/one/abc

# owner: root

# group: root

user::rw-

user:user1:r--

group::r--

mask::r--

other::r--

[root@user ~]# getfacl /test/one/yi

getfacl: Removing leading '/' from absolute path names

# file: test/one/yi

# owner: student

# group: root

user::rwx

user:user1:r-x

group::r-x

mask::r-x

other::r-x

[root@user ~]# getfacl /test/aaa

getfacl: Removing leading '/' from absolute path names

# file: test/aaa

# owner: student

# group: root

user::r--

user:student:--x                #effective:---

user:user1:rw-

user:1005:rw-

user:user2:r-x                  #effective:r--

group::r--

mask::rw-

other::rwx

[root@user ~]# setfacl -x u:student /test/aaa //移除ACL条目

[root@user ~]# getfacl /test/aaa

getfacl: Removing leading '/' from absolute path names

# file: test/aaa

# owner: student

# group: root

user::r--

user:user1:rw-

user:1005:rw-

user:user2:r-x

group::r--

mask::rwx

other::rwx

设置继承

[root@user ~]# setfacl -m d:u:1005:rwX /test/one/ //设置默认,可以产生继承效果

                                                                                //即目录下新建文件和子目录 都有

                                                                                //这个默认的ACL

[root@user ~]# getfacl /test/one/

getfacl: Removing leading '/' from absolute path names

# file: test/one/

# owner: student

# group: root

user::rwx

user:user1:r-x

group::r-x

mask::r-x

other::r-x

default:user::rwx

default:user:1005:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

[root@user ~]# getfacl /test/one/bbb //已存在文件不受继承效果影响

getfacl: Removing leading '/' from absolute path names

# file: test/one/bbb

# owner: student

# group: student

user::rw-

user:user1:r--

group::rw-

mask::rw-

other::r--

[root@user ~]# touch /test/one/ccc

[root@user ~]# getfacl /test/one/ccc //新建文件 收继承影响

getfacl: Removing leading '/' from absolute path names

# file: test/one/ccc

# owner: root

# group: root

user::rw-

user:1005:rwx                   #effective:rw-

group::r-x                      #effective:r--

mask::rw-

other::r--

[root@user ~]# mkdir /test/one/111

[root@user ~]# getfacl /test/one/111 //新建目录 收继承影响

getfacl: Removing leading '/' from absolute path names

# file: test/one/111

# owner: root

# group: root

user::rwx

user:1005:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:user:1005:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

[root@user ~]# touch /test/one/111/222

[root@user ~]# getfacl /test/one/111/222

getfacl: Removing leading '/' from absolute path names

# file: test/one/111/222

# owner: root

# group: root

user::rw-

user:1005:rwx                   #effective:rw-

group::r-x                      #effective:r--

mask::rw-

other::r--

[root@user ~]# setfacl -x d:u:1005 /test/one/111/ //移除默认ACL

[root@user ~]# getfacl /test/one/111/

getfacl: Removing leading '/' from absolute path names

# file: test/one/111/

# owner: root

# group: root

user::rwx

user:1005:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:group::r-x

default:mask::r-x

default:other::r-x

 移除ACL

[root@user ~]# setfacl -b /test/aaa //移除所有的ACL

[root@user ~]# getfacl /test/aaa

getfacl: Removing leading '/' from absolute path names

# file: test/aaa

# owner: student

# group: root

user::r--

group::r--

other::rwx

[root@user ~]# ll /test/aaa //还原到没有ACL的状态了

-r--r--rwx. 1 student root 18 May  8 16:14 /test/aaa

相关文章:

Linux——进程的优先级、ACL

一、系统性能调优 Redhat7和centos7默认安装并启动了tuned服务 实验 [rootuser ~]# tuned-adm list //查看所有的调优方案 [rootuser ~]# tuned-adm recommend // 查看推荐的调优方案 virtual-guest 适用于作为虚拟机客户机运行的设备&#xff0…...

【C++】STL-list模拟实现

目录 1、本次需要实现的3个类即接口总览 2、list的模拟实现 2.1 链表结点的设置以及初始化 2.2 链表的迭代器 2.3 容量接口及默认成员函数 1、本次需要实现的3个类即接口总览 #pragma once #include<iostream> #include<assert.h> using namespace std; templ…...

Java 7大排序

&#x1f435;本篇文章将对数据结构中7大排序的知识进行讲解 一、插入排序 有一组待排序的数据array&#xff0c;以升序为例&#xff0c;从第二个数据开始&#xff08;用tmp表示&#xff09;依次遍历整组数据&#xff0c;每遍历到一个数据都再从tmp的前一个数据开始&#xff0…...

vue3 - 图灵

目录 vue3简介整体上认识vue3项目创建Vue3工程使用官方脚手架创建Vue工程[推荐] 主要⼯程结构 数据双向绑定vue2语法的双向绑定简单表单双向绑定复杂表单双向绑定 CompositionAPI替代OptionsAPICompositionAPI简单不带双向绑定写法CompositionAPI简单带双向绑定写法setup简写⽅…...

java设计模式八 享元

享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过共享技术有效地支持大量细粒度的对象。这种模式通过存储对象的外部状态在外部&#xff0c;而将不经常变化的内部状态&#xff08;称为享元&#xff09;存储在内部&#xff0c;以此来减…...

ELK原理详解

ELK原理详解 一、引言 在当今日益增长的数据量和复杂的系统环境中&#xff0c;日志数据的收集、存储、分析和可视化成为了企业运营和决策不可或缺的一部分。ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;堆栈凭借其高效的性能、灵活的扩展性和强大的功能&…...

多线程学习Day09

10.Tomcat线程池 LimitLatch 用来限流&#xff0c;可以控制最大连接个数&#xff0c;类似 J.U.C 中的 Semaphore 后面再讲 Acceptor 只负责【接收新的 socket 连接】 Poller 只负责监听 socket channel 是否有【可读的 I/O 事件】 一旦可读&#xff0c;封装一个任务对象&#x…...

第33次CSP认证Q1:词频统计

&#x1f344;题目描述 在学习了文本处理后&#xff0c;小 P 对英语书中的 &#x1d45b;n 篇文章进行了初步整理。 具体来说&#xff0c;小 P 将所有的英文单词都转化为了整数编号。假设这 &#x1d45b;n 篇文章中共出现了 &#x1d45a;m 个不同的单词&#xff0c;则把它们…...

pytorch加载模型出现错误

大概的错误长下面这样&#xff1a; 问题出现的原因&#xff1a; ​很明显&#xff0c;我就是犯了第一种错误。 网上的修改方法&#xff1a; 我觉得按道理哈&#xff0c;确实&#xff0c;蓝色部分应该是可以把问题解决了的​。​但是我没有解决&#xff0c;因为我犯了另外一个错…...

如何在Mac上恢复格式化硬盘的数据?

“嗨&#xff0c;我格式化了我的一个Mac硬盘&#xff0c;而没有使用Time Machine备份数据。这个硬盘被未知病毒感染了&#xff0c;所以我把它格式化为出厂设置。但是&#xff0c;我忘了备份我的文件。现在&#xff0c;我想恢复格式化的硬盘驱动器并恢复我的文档&#xff0c;您能…...

华为OD机试 - 手机App防沉迷系统(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…...

搜维尔科技:光学动作捕捉系统用于城市公共安全智慧感知实验室

用户名称&#xff1a;西安科技大学 主要产品&#xff1a;Optitrack Priime41 光学动作捕捉系统&#xff08;8头&#xff09; 在6米8米的空间内&#xff0c;通过8个Optitrack Priime41光学动作捕捉镜头&#xff0c;对人体动作进行捕捉&#xff0c;得到用户想要的人体三维空间坐…...

保研面试408复习 4——操作系统、计网

文章目录 1、操作系统一、文件系统中文件是如何组织的&#xff1f;二、文件的整体概述三、UNIX外存空闲空间管理 2、计算机网络一、CSMA/CD 协议&#xff08;数据链路层协议&#xff09;二、以太网MAC帧MTU 标记文字记忆&#xff0c;加粗文字注意&#xff0c;普通文字理解。 1、…...

实战攻防中关于文档的妙用

一、PPT钓鱼 简单制作一个用于钓鱼的PPTX文件 一般那种小白不知道PPT也能拿来钓鱼&#xff0c;这里主要是借用PPT中的”动作按钮”, 我们在插入的地方&#xff0c;选择“动作按钮” 然后在弹出的窗口处&#xff1a; 比如填入上线CS的语句&#xff1a;powershell.exe -nop -w …...

【使用ChatGPT的API之前】OpenAI API提供的可用模型

文章目录 一. ChatGPT基本概念二. OpenAI API提供的可用模型1. InstructGPT2. ChatGPT3. GPT-4 三. 在OpenAI Playground中使用GPT模型-ing 在使用GPT-4和ChatGPT的API集成到Python应用程序之前&#xff0c;我们先了解ChatGPT的基本概念&#xff0c;与OpenAI API提供的可用模型…...

【C语言】模拟实现深入了解:字符串函数

&#x1f525;引言 本篇将模拟实现字符串函数&#xff0c;通过底层了解更多相关细节 &#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;C笔记专栏&#xff1a; C笔记 &#x1f308;喜欢的诗句:无人扶我青云志 我自…...

钩子函数onMounted定义了太多访问MySQL的操作 导致数据库异常

先放几种后端遇到的异常&#xff0c;多数和数据库有关 pymysql.err.InternalError: Packet sequence number wrong - got 102 expected 1 127.0.0.1 - - [09/May/2024 17:49:37] "GET /monitorLastTenList HTTP/1.1" 500 AttributeError: NoneType object has no at…...

Excel文件解析---超大Excel文件读写

1.使用POI写入 当我们想在Excel文件中写入100w条数据时&#xff0c;使用XSSFWorkbook进行写入时会发现&#xff0c;只有将100w条数据全部加载到内存后才会用write()方法统一写入&#xff0c;效率很低&#xff0c;所以我们引入了SXXFWorkbook进行超大Excel文件读写。 通过设置 …...

TypeScript基础:类型系统介绍

TypeScript基础&#xff1a;类型系统介绍 引言 TypeScript&#xff0c;作为JavaScript的一个超集&#xff0c;引入了类型系统&#xff0c;这为开发大型应用程序带来了诸多好处。本文将介绍TypeScript类型系统的基础知识&#xff0c;帮助初学者理解其概念和用法。 基础知识 …...

【Unity】Unity项目转抖音小游戏(一) 项目转换

UnityWEBGL转抖音小游戏流程 业务需求&#xff0c;开始接触一下抖音小游戏相关的内容&#xff0c;开发过程中记录一下流程。 相关参考&#xff1a; 抖音文档&#xff1a;https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/game-engine/rd-to-SC…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...