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

Linux 文件的特殊权限—ACL项目练习

本文为Ubuntu Linux操作系统- 第二十一期~~
上期回顾: 【ACL权限控制详解】
更多Linux 相关内容请点击👉【Linux专栏】~
主页:【练小杰的CSDN】

在这里插入图片描述

文章目录

  • 项目
    • 项目要求
    • 具体的设置命令如下
    • 问题2
    • 问题3
      • 第一步:设置默认ACL前,在project目录下新建一个文件testfile和一个目录testdir,测试是否具有前面设置的ACL权限
      • 第二步: 设定 project组 访问project 目录的rwx 的默认 ACL 权限
      • 第三步:用户com_user对project下的所有已有的子目录都有rx权限
      • 第四步:删除project目录的所有ACL权限

在这里插入图片描述

项目

问题1:
有一个项目project,项目经理为 root 用户,为了协作工作创建一个工程目录
/project,项目经理是这个目录的所有者,对/project 目录拥有 rwx 权限;

项目要求

  • 新建project群组,并作为 /project 目录的所属组,项目组有两个成员jobA,jobB做为project组成员,拥有对 project 的 rwx 权限;
  • 其他用户访问 /project 目录设定为没有任何权限。
  • 要求通过对目录project设置SGID,使jobA和jobB所创建的文件或目录属组也是project;
  • 项目合作方的一个用户com_user希望能进入和看到/project目录,即对用户com_user设定 ACL 权限,令该用户对 project 拥有 rx 权限。

具体的设置命令如下

  • 新建用户jobA、jobB、com_user,新建组project
[root@localhost /]# useradd jobA
[root@localhost /]# useradd jobB
[root@localhost /]# useradd com_user
[root@localhost /]# groupadd project
  • 将jobA用户 和 jobB用户添加到组project中
[root@localhost /]# gpasswd -a jobA project
[root@localhost /]# gpasswd -a jobB project
  • 新建目录 /project 并查看该目录权限
[root@localhost /]# mkdir project
[root@localhost /]# ll | grep project
drwxr-xr-x.   2 root root   6 Jan  4 09:47 project
  • 指定目录 project 所属组为project ,并对目录project设置SGID权限
[root@localhost /]# chgrp project project
[root@localhost /]# chmod 2770 project
  • 设置完后,查看目录project的权限
[root@localhost /]# ll | grep project
drwxrws---.   2 root project    6 Jan  4 09:47 project
  • 对用户com_user设定 ACL 权限
[root@localhost /]# setfacl -m u:com_user:rx  project
[root@localhost /]# ll |grep project
drwxrwx---+   2 root project    6 Jul  4 09:47 project

可以看到, 权限位多了一个“+”号!!!

  • 查看/prpject目录的ACL权限
[root@localhost /]# getfacl project
#file:project    		 <--文件名
# owner: root     		 <--文件所有者
# group: project  	 	 <--文件所属组
user::rwx           	 <--用户名栏是空的,表示所有者的权限
user:com_user:r-x      <--用户com_user的权限
group::rwx					 <--组名栏是空的,表示所属组权限
mask::rwx						 <--mask权限
other::---					  <--其他人权限

如上所示,通过设定 ACL 权限,在没有改变用户com_user任何身份的前提下,可以单独给他分配 r-x 权限。

问题2

若还有另一个项目组projectA也希望对project目录拥有rwx权限,这样,只要对projectA设置ACL权限即可。

  • 新建项目组 projectA,对project目录拥有rwx权限
[root@localhost /]# groupadd projectA
[root@localhost /]# setfacl -m g:projectA:rwx project
  • 查看目录project 的权限 和 目录 /project的ACL权限
[root@localhost /]# ll | grep project
drwxrws---+   4 root project   67 Jan  5 00:24 project
[root@localhost /]# getfacl project
# file: project
# owner: root
# group: project
# flags: -s-
user::rwx
user:com_user:r-x
group::rwx
group:projectA:rwx        <-用户组 projectA 拥有了rwx权限
mask::rwx
other::---

问题3

前面已经对 project 目录设定了 ACL 权限,那么,如果jobAjobB要在这个目录中新建文件和子目录,要求这些文件继承父目录project的 ACL 权限,利用命令setfacl -d设定默认 ACL 权限实现上述要求。

命令操作如下:

第一步:设置默认ACL前,在project目录下新建一个文件testfile和一个目录testdir,测试是否具有前面设置的ACL权限

[root@localhost project]# mkdir testdir
[root@localhost project]# touch testfile
[root@localhost project]# ls -l | grep test
drwxr-sr-x. 2 root project 6 Jul  5 02:08 testdir
-rw-r--r--. 1 root project 0 Jul  5 02:12 testfile

可以看到,两个新建立的文件testfile和目录testdir的权限位后面并没有 “+”,说明它们没有继承前面设置的 ACL 权限,表示设置ACL权限后在project目录下创建的文件或子目录,并不会继承父目录project的 ACL 权限。

第二步: 设定 project组 访问project 目录的rwx 的默认 ACL 权限

[root@localhost /]# setfacl -m d:g:project:rwx project
[root@localhost /]# getfacl project
# file: project
# owner: root
# group: project
# flags: -s-
user::rwx
user:com_user:r-x
group::rwx
group:projectA:rwx
mask::rwx
other::---
default:user::rwx            <--多了default
default:group::rwx
default:group:project:rwx
default:mask::rwx
default:other::---
  • 切换普通用户jobA 创建文件filetest 和目录 dirtest
[root@localhost project]# su jobA
[jobA@localhost project]$ touch filetest
[jobA@localhost project]$ mkdir dirtest
[jobA@localhost project]$ exit
  • 查看相关目录和文件的权限
[root@localhost project]# ll
drwxrws---+ 2 jobA project 6 Jul  5 02:32 dirtest
-rw-rw----+ 1 root project 0 Jul  5 02:32 filetest
drwxr-sr-x. 2 root project 6 Jul  5 02:08 testdir
-rw-r--r--. 1 root project 0 Jul  5 02:12 testfile

可以发现,原先的创建目录testdir 和 文件testfile没有 ACL 权限,说明默认 ACL 权限对新建立的文件生效。

  • 目录dirtest的ACL 权限
[root@localhost project]# getfacl dirtest
# file: dirtest
# owner: jobA
# group: project
# flags: -s-
user::rwx
group::rwx 
group:project:rwx 
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:project:rwx
default:mask::rwx
default:other::---
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:project:rwx
default:mask::rwx
default:other::---

如此,目录 dirtest 继承了父目录project的默认ACL权限。

  • 查看文件 filetest 的ACL权限
[root@localhost project]# getfacl filetest 
# file: filetest
# owner: root
# group: project
user::rw-
group::rwx			
group:project:rwx		
mask::rw-
other::---

第三步:用户com_user对project下的所有已有的子目录都有rx权限

命令详细过程:

  • 检查用户com_user对目录project的rx权限
[root@localhost /]# getfacl project
# file: project
# owner: root
# group: project
# flags: -s-
user::rwx
user:com_user:r-x         <--com_user对目录project有rx权限
group::rwx
group:projectA:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:project:rwx
default:mask::rwx
default:other::---
  • 在目录project 下 新建目录comdir,并查看目录的ACL 权限
[root@localhost project]# mkdir comdir
[root@localhost project]# getfacl comdir
# file: comdir
# owner: root
# group: project
# flags: -s-
user::rwx
group::rwx
group:project:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:project:rwx
default:mask::rwx
default:other::---

可以发现,用户com_user对目录/project/comdir没有rx权限

  • 设置用户com_user对project下的所有已有的子目录都有rx权限并 查看目录/project/comdir 的ACL权限
[root@localhost /]# setfacl -m u:com_user:rx -R project
[root@localhost /]# getfacl ./project/comdir
# file: project/comdir
# owner: root
# group: project
# flags: -s-
user::rwx
user:com_user:r-x       <--com_user对目录/project/comdir有rx权限
group::rwx
group:project:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:project:rwx
default:mask::rwx
default:other::---

第四步:删除project目录的所有ACL权限

  • 删除project目录的所有ACL权限,查看目录project 的权限
[root@localhost /]# setfacl -b project
[root@localhost /]# ll | grep project
drwxrws---.   4 root project   67 Jul  5 07:52 project

可以看到,这时没有ACL权限了!!!

  • 进入目录project 并查看该目录下的各种权限
[root@localhost /]# cd project
[root@localhost project]# ll
drwxrws---+ 2 root project 6 Jul  5 07:52 comdir
drwxrws---+ 2 jobA project 6 Jul  5 02:32 dirtest
-rw-rwx---+ 1 root project 0 Jul  5 02:32 filetest
-rw-r-xr--+ 1 root project 0 Jul  5 02:12 testfile
  • 要删除父目录project下所有子目录和文件的ACL权限,则必须使用以下命令:
setfacl -b -R project

至此,Linux系统的ACL权限控制所有内容已经讲完了😆
后续如果有更多相关内容我会补充,查看主页【练小杰的CSDN】!!!
明天再见,各位🧍‍♂️大佬们~~

相关文章:

Linux 文件的特殊权限—ACL项目练习

本文为Ubuntu Linux操作系统- 第二十一期~~ 上期回顾: 【ACL权限控制详解】 更多Linux 相关内容请点击&#x1f449;【Linux专栏】~ 主页&#xff1a;【练小杰的CSDN】 文章目录 项目项目要求具体的设置命令如下问题2问题3第一步&#xff1a;设置默认ACL前&#xff0c;在projec…...

游戏引擎学习第76天

确保一切正常并计划今天的内容 在本次开发中&#xff0c;我们正在集中精力处理引擎中的三维功能&#xff0c;尤其是如何有效地处理多层结构&#xff0c;比如在多个楼层之间行走&#xff0c;或者在房间上方可以看到下方的房间。我们的目标是避免使用临时解决方案或黑客方式&…...

【Linux-多线程】POSIX信号量-基于环形队列生产消费模型

POSIX信号量 POSIX信号量和System V信号量作用相同&#xff0c;都是用于同步操作&#xff0c;达到无冲突的访问共享资源的目的。但POSIX可以用于线程间同步 1.快速认识信号量接口 POSIX信号量分为两种类型&#xff1a; 命名信号量&#xff08;Named Semaphores&#xff09;&…...

电脑32位和64位之区别(Difference between 32-Bit and 64 Bit Computers)

电脑32位和64位之区别 很多小伙伴还不知道电脑32位和64位是什么意思&#xff0c;今天小编就来普及一下。 32位和64位是指电脑处理器&#xff08;CPU&#xff09;和操作系统的架构&#xff0c;决定了电脑如何处理数据、存储信息、运行程序等。 32位和64位是指电脑系统中每个处…...

1688平台商品关键词搜索的多样性与Python爬虫应用实践

在当今这个信息化、数字化飞速发展的时代&#xff0c;电子商务平台已经成为人们日常生活中不可或缺的一部分。而1688作为国内知名的B2B电商平台&#xff0c;凭借其庞大的商品种类和丰富的供应链资源&#xff0c;为无数商家和消费者提供了便捷的交易渠道。除了广受关注的女装品类…...

2025年:AI化浪潮中的社会变迁与商业革新

随着人工智能(AI)技术的迅猛发展,2025年将成为一个转折点。这一年,AI不仅将深入到日常生活和商业运营的各个角落,还将引发一系列深刻的社会、经济和技术变革。以下是对未来一年可能出现的“AI化”现象的预测与展望。 AI进入主流文化的标志 超级碗广告:在2025年的超级碗上…...

JS scrollIntoView 技巧揭秘:解锁网页流畅交互

文章目录 一.基本概念二.语法和参数基本语法&#xff1a;element.scrollIntoView();参数详解&#xff1a; 三.应用场景和示例场景一&#xff1a;点击目录点位到相应的位置React 示例代码&#xff1a;Vue3 示例代码&#xff1a; 场景二&#xff1a;轮播图定位到指定图片示例代码…...

精选2款.NET开源的博客系统

前言 博客系统是一个便于用户创建、管理和分享博客内容的在线平台&#xff0c;今天大姚给大家分享2款.NET开源的博客系统。 StarBlog StarBlog是一个支持Markdown导入的开源博客系统&#xff0c;后端基于最新的.Net6和Asp.Net Core框架&#xff0c;遵循RESTFul接口规范&…...

1.CSS的复合选择器

1.1 什么是复合选择器 在CSS中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基础选择器进行组合形成的。 复合选择器可以更精准、更高效的选择目标元素&#xff08;标签&#xff09; 复…...

sys.dm_exec_connections:查询与 SQL Server 实例建立的连接有关的信息以及每个连接的详细信息(客户端ip)

文章目录 引言I 基于dm_exec_connections查询客户端ip权限物理联接时间范围dm_exec_connections表see also: 监视SQL Server 内存使用量资源信号灯 DMV sys.dm_exec_query_resource_semaphores( 确定查询执行内存的等待)引言 查询历史数据库客户端ip应用场景: 安全分析缺乏…...

gitee 使用教程

前言 Gitee 是一个中国的开源代码托管平台&#xff0c;类似于 GitHub&#xff0c;旨在为开发者提供一个高效、稳定、安全的代码管理和协作开发环境。Gitee 支持 Git 协议&#xff0c;可以托管 Git 仓库&#xff0c;进行版本控制、代码协作、项目管理等操作。 1. Gitee 的主要…...

HTMLHTML5革命:构建现代网页的终极指南 - 0. 课程目录设计

结构清晰&#xff0c;层层递进 课程从基础知识&#xff08;如HTML学前必知&#xff09;开始&#xff0c;逐步深入到高级应用&#xff08;如PWA配置和WebApp优化&#xff09;。每个模块都有明确的目标&#xff0c;适合零基础学员逐步掌握HTML。 覆盖范围广 这套课程涵盖了HTM…...

嵌入式系统 (2.嵌入式硬件系统基础)

2.嵌入式硬件系统基础 2.1嵌入式硬件系统的组成 嵌入式硬件系统以嵌入式微处理器为核心&#xff0c;主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器 嵌入式微处理器采用冯诺依曼结构或哈佛结构&#xff1a;前者指令和数据共享同一存储空间…...

Vue3轮播图的实现:vue3-carousel的使用和配置

vue3-carousel 是一个用于 Vue 3 的轻量级、响应式、功能强大的轮播组件。它允许你轻松创建可以滚动的图片或内容滑块。下面是关于如何安装、使用以及配置 vue3-carousel 的一些示例和详细说明。 目录 一、安装 vue3-carousel 二、引入 三、轮播全局样式修改 一、安装 vue3-…...

Spring AI ectorStore

Spring AI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案&#xff0c;它在AI应用中扮演着至关重要的角色。以下是对Spring AI VectorStore的详细解析&#xff1a; 一、VectorStore的基本概念 定义&#xff1a;VectorStore特别适用于处理那些经过嵌入…...

uniapp vue2版本如何设置i18n

如何设置i18n在该软件设置过语言的情况下优先选择所设置语言&#xff0c;在没有设置的情况下&#xff0c;获取本系统默认语言就&#xff0c;将系统默认语言设置为当前选择语言。 1、下载依赖&#xff1a; npm install vue-i18n --save 2、创建相关文件&#xff08;在最外层&…...

【2024华为OD-E卷-100分-boss的收入】(题目+思路+JavaC++Python解析)

题目描述 题目&#xff1a;boss的收入 在一个公司中&#xff0c;有一个老板&#xff08;boss&#xff09;和若干名员工&#xff08;employees&#xff09;。老板和员工的收入信息存储在一个数组中&#xff0c;其中数组的每个元素表示一个人的收入。数组的第0个元素表示老板的…...

若依 ruoyi-vue HandlerInterceptor 拦截器 文件接口自定义权限

文件资源添加自定义权限 package com.huida.framework.config;import com.huida.framework.interceptor.FileInterceptor; import com.huida.framework.interceptor.RequestInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springfr…...

在离线环境中安装 `.rpm` 包的步骤

在一些环境中&#xff0c;可能无法直接通过网络安装软件包。特别是在没有互联网连接的情况下&#xff0c;我们仍然可以手动下载 .rpm 安装包并进行离线安装。本文将介绍如何在离线环境中安装多个 .rpm 包&#xff0c;确保软件的顺利安装和依赖关系的处理。 1. 将 .rpm 文件复制…...

Python----Python爬虫(selenium的使用,定位元素,层级定位)

一、介绍与安装 Selenium是一个Web的自动化测试工具&#xff0c;最初是为网站自动化测试而开发的&#xff0c;类型像我们玩游戏用的按键精灵&#xff0c;可以按指定的命令自动操作&#xff0c;不同是Selenium 可以直接运行在浏览器上&#xff0c;它支持所有主流的浏览器。 Sele…...

Docker 服务、镜像、容器之命令(Docker Services, Images, and Container Commands)

Docker 服务、镜像、容器之命令 Docker是一个强大的容器化平台&#xff0c;能够帮助开发者高效地构建、部署和管理应用程序。本文将详细介绍Docker的服务命令、镜像命令和容器命令&#xff0c;帮助你快速上手Docker。 一、Docker的服务相关命令 在使用Docker之前&#xff0c…...

当歌 - RSS 订阅分发平台开发

以下将详细介绍当歌平台的技术架构、功能实现以及相关代码逻辑。 一、项目概述 当歌是一个极简的 RSS 订阅分发平台&#xff0c;旨在为用户提供便捷的 RSS 管理和订阅服务&#xff0c;帮助用户轻松获取和分享最新资讯。 二、技术架构 后端语言&#xff1a;PHP 数据库&#…...

vue3使用AntV X6 (图可视化引擎)历程[二]

通过h函数动态展示自定义节点内容 一、案例效果 二、案例代码 父组件. BloodTopology.vue <template><div><TopologyCompact><template #main-board-box><TopologyDependent domId"featureBloodContainer" :nodeData"originalNode…...

爬虫学习记录

1.概念 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程 通用爬虫:抓取的是一整张页面数据聚焦爬虫:抓取的是页面中的特定局部内容增量式爬虫:监测网站中数据更新的情况,只会抓取网站中最新更新出来的数据 robots.txt协议: 君子协议,网站后面添加robotx.txt…...

Erlang语言的函数实现

Erlang语言函数实现的深度探讨 引言 Erlang是一种并发编程语言&#xff0c;最初由爱立信公司为电信系统开发。它以其强大的并发处理能力和容错机制而闻名&#xff0c;广泛应用于实时系统和分布式系统。本文将详细探讨Erlang语言中的函数实现&#xff0c;包括函数的定义、调用…...

LLM之RAG实战(五十一)| 使用python和Cypher解析PDF数据,并加载到Neo4j数据库

一、必备条件&#xff1a; python语言Neo4j数据库python库&#xff1a;neo4j、llmsherpa、glob、dotenv 二、代码&#xff1a; from llmsherpa.readers import LayoutPDFReaderfrom neo4j import GraphDatabaseimport uuidimport hashlibimport osimport globfrom datetime …...

单例模式-如何保证全局唯一性?

以下是几种实现单例模式并保证全局唯一性的方法&#xff1a; 1. 饿汉式单例模式 class Singleton { private:// 私有构造函数&#xff0c;防止外部创建对象Singleton() {}// 静态成员变量&#xff0c;存储单例对象static Singleton instance; public:// 公有静态成员函数&…...

05、Docker学习,常用安装:Mysql、Redis、Nginx、Nacos

Docker学习&#xff0c;常用安装&#xff1a;Mysql、Redis、Nginx、Nacos 一、Docker安装Mysql 1、docker search mysql ##查找mysql版本都有哪些 2、docker pull mysql:5.6 ##下载5.6版本的mysql镜像 3、docker run -p 13306:3306 --name mysql ##运行…...

docker 启动redis 守护进程

文章目录 前言一、整体流程二、状态图三、结语 前言 在现代软件开发中&#xff0c;缓存和消息队列是提高应用性能和扩展性的关键。Redis 是一种流行的内存数据结构存储系统&#xff0c;它支持多种类型的数据结构&#xff0c;如字符串、哈希、列表、集合、有序集合等。使用 Doc…...

Angular由一个bug说起之十三:Cross Origin

跨域 想要了解跨域&#xff0c;首要要了解源 什么是源&#xff0c;源等于协议加域名加端口号 只有这三个都相同&#xff0c;才是同源&#xff0c;反之则是非同源。 比如下面这四个里&#xff0c;只有第4个是同源 而浏览器给服务器发送请求时&#xff0c;他们的源一样&#xff0…...

为深度学习引入张量

为深度学习引入张量 什么是张量&#xff1f; 神经网络中的输入、输出和转换都是使用张量表示的&#xff0c;因此&#xff0c;神经网络编程大量使用张量。 张量是神经网络使用的主要数据结构。 张量的概念是其他更具体概念的数学概括。让我们看看一些张量的具体实例。 张量…...

opencv摄像头标定程序实现

摄像头标定是计算机视觉中的一个重要步骤&#xff0c;用于确定摄像头的内参&#xff08;如焦距、主点、畸变系数等&#xff09;和外参&#xff08;如旋转矩阵和平移向量&#xff09;。OpenCV 提供了方便的工具来进行摄像头标定。下面分别给出 C 和 Python 的实现。 1. C 实现…...

Flutter:封装一个自用的bottom_picker选择器

效果图&#xff1a;单列选择器 使用bottom_picker: ^2.9.0实现&#xff0c;单列选择器&#xff0c;官方文档 pubspec.yaml # 底部选择 bottom_picker: ^2.9.0picker_utils.dart AppTheme&#xff1a;自定义的颜色 TextWidget.body Text() <Widget>[].toRow Row()下边代…...

Docker 容器自动化管理之脚本(Script for Docker Container Automation Management)

Docker 容器自动化管理之脚本 简介 Docker‌是一个开源的容器化平台&#xff0c;旨在简化应用程序的开发、部署和运行过程。它通过将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;使得开发人员能够在不同的环境中以一致的方式构建、打包和分发应用程序‌。 Docke…...

client-go中watch机制的一些陷阱

Reference https://stackoverflow.com/questions/51399407/watch-in-k8s-golang-api-watches-and-get-events-but-after-sometime-doesnt-get-an 问题描述 最近在使用 client-go 的 watch 机制监听 k8s 中的 deployment 资源时&#xff0c;发现一个奇怪的现象 先看下代码&a…...

用户界面的UML建模11

然而&#xff0c;在用户界面方面&#xff0c;重要的是要了解《boundary》类是如何与这个异常分层结构进行关联的。 《exception》类的对象可以作为《control》类的对象。因此&#xff0c;《exception》类能够聚合《boundary》类。 参见图12&#xff0c;《exception》Database…...

计算机网络之---数据链路层的功能与作用

数据链路层概念 数据链路层&#xff08;Data Link Layer&#xff09;是计算机网络中的第二层&#xff0c;它位于物理层和网络层之间&#xff0c;主要负责数据在物理链路上的可靠传输。其基本功能是将网络层传来的数据分成帧&#xff0c;并负责在物理链路上可靠地传输这些数据帧…...

添加到 PATH 环境变量中

命令解释 # 将命令中的<CLI_PATH>替换为您aliyun文件的所在目录。 echo export PATH$PATH:<CLI_PATH> >> ~/.bash_profile echo export PATH$PATH:/data2/ljsang/aliyun/aliyun >> ~/.bash_profileexport PATH$PATH:/data2/ljsang/aliyun/aliyun&…...

【51单片机零基础-chapter6:LCD1602调试工具】

实验0-用显示屏LCD验证自己的猜想 如同c的cout,前端的console.log() #include <REGX52.H> #include <INTRINS.H> #include "LCD1602.h" int var0; void main() {LCD_Init();LCD_ShowNum(1,1,var211,5);while(1){;} }实验1-编写LCD1602液晶显示屏驱动函…...

Linux 内核中的 netif_start_queue 函数:启动网络接口发送队列的关键

在 Linux 内核的网络子系统中,netif_start_queue 函数扮演着至关重要的角色。这个函数的主要功能是启动(或启用)网络接口的发送队列,标志着网络接口已经准备好开始发送数据包。本文将深入探讨 netif_start_queue 函数的用途、工作原理以及在实际网络驱动代码中的应用。 函…...

(七)人工智能进阶之人脸识别:从刷脸支付到智能安防的奥秘,小白都可以入手的MTCNN+Arcface网络

零、开篇趣谈 还记得第一次用支付宝"刷脸"时的新奇感吗&#xff1f;或者被抖音的人脸特效逗乐的瞬间&#xff1f;这些有趣的应用背后&#xff0c;其实藏着一个精妙的AI世界。今天&#xff0c;就让我们开启一段奇妙的人脸识别技术探索之旅吧&#xff01; 一、人脸识…...

ExcelDataReader:一个.Net高性能Excel开源读取器

推荐一个用于读取Microsoft Excel文件的高性能开源库。 01 项目简介 ExcelDataReader是一个功能强大且易于使用的开源项目&#xff0c;提供了丰富的读取API&#xff0c;专门读取Excel文件的数据&#xff0c;特别是处理大数据量的情况。 ExcelDataReader支持Excel版本从2007年…...

人工智能-机器学习之多元线性回归(项目实践一)

目标&#xff1a;运用scikit-learn进行多元线性回归方程的构建&#xff0c;通过实际案例的训练集和测试集进行预测&#xff0c;最终通过预测结果和MSE来评估预测的精度。 一、首先安装scikit-learn&#xff1a;pip install scikit-learn C:\Users\CMCC\PycharmProjects\AiPro…...

Mysql--基础篇--约束(主键,外键,唯一,检查,枚举及复合约束等)

在MySQL中&#xff0c;约束&#xff08;Constraints&#xff09;是用于确保数据库中数据完整性和一致性的规则。通过定义约束&#xff0c;可以防止用户插入、更新或删除不符合特定条件的数据&#xff0c;从而保证数据的准确性和可靠性。MySQL支持多种类型的约束&#xff0c;每种…...

经典多模态模型CLIP - 直观且详尽的解释

对比语言-图像预训练&#xff08;CLIP&#xff09;&#xff0c;这是一种创新的多模态建模策略&#xff0c;能够创建视觉和语言的联合表示。CLIP 的效果非常出色&#xff0c;可以用于构建高度特定且性能卓越的分类器&#xff0c;而无需任何训练数据。本文将深入探讨其理论基础&a…...

着丝粒鉴定CentIER v3.0安装与使用-bioinfomatics tools41

使用CentIE鉴定着丝粒 T2T基因组端粒与着丝粒的区别及其鉴定方法-随笔02_chip-seq鉴定着丝粒-CSDN博客 T2T时代的基因组组装-文献精读-9_基因组t2t组装-CSDN博客 桑树T2T基因组-文献精读16_桑树基因组-CSDN博客 辣椒属2个T2T基因组-文献精读23_辣椒基因组-CSDN博客 大花…...

Objective-C语言的多线程编程

Objective-C语言的多线程编程 在现代应用程序开发中&#xff0c;尤其是移动应用开发&#xff0c;多线程编程是一个不可或缺的部分。使用多线程可以提升应用的响应能力&#xff0c;使得可以同时处理多个任务&#xff0c;从而优化用户体验。在本文中&#xff0c;我们将深入探讨O…...

Golang的并发编程框架比较

# Golang的并发编程框架比较 中的并发编程 在现代软件开发中&#xff0c;处理高并发的能力愈发重要。Golang作为一门支持并发编程的编程语言&#xff0c;提供了丰富的并发编程框架和工具&#xff0c;使得开发者能够更轻松地处理并发任务。本文将介绍Golang中几种常用的并发编程…...

通过 oh-my-posh posh-git 优化PowerShell

转自oh-my-posh & posh-git 提升在 windows 环境的开发体验 oh-my-posh 是用于自定义 PowerShell 主题和配色的工具&#xff0c;posh-git 则是为 PowerShell 提供了方便的 git 状态显示和命令补全功能。 安装PowerShell 7和 winget下载器&#xff0c;都可以直接在 Microsof…...

【Linux系列】Vim 编辑器中的高效文本编辑技巧:删除操作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...