【Linux基础】权限管理

news2024/11/21 0:13:34

在这里插入图片描述

​👻内容专栏: Linux操作系统基础
🐨本文概括: 用户之间的切换、sudo提权、Linux权限管理、文件访问权限的相关方法、目录权限、粘滞位等
🐼本文作者: 阿四啊
🐸发布时间:2023.9.11

Linux权限

概念

Linux权限是一种关键的安全概念,用于控制用户对文件和目录的访问和操作。理解和管理权限对于确保系统的安全性和数据的保护至关重要。


Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

用户切换命令

普通用户切换到root用户

  • su root切换到root用户,但不改变环境

使用 su root 命令,将切换到root用户的身份,但不会改变当前环境设置。这意味着将继续使用原始用户的环境变量、路径设置等。
例如,如果使用 su root 切换到root用户,将继续使用原始用户的工作目录和shell配置。

[Asi@localhost ~]$ su root
Password: 
[root@localhost Asi]# exit
[Asi@localhost ~]$ 
  • su - root切换到root用户,同时改变环境

使用 su - root 命令,将切换到root用户的身份,并且会改变当前环境设置,包括工作目录、环境变量和shell配置。这样子会话更像是以root用户的身份登录系统一样。
例如,如果使用 su - root 切换到root用户,将获得root用户的工作目录和与root用户相关的环境设置。

[Asi@localhost ~]$ su - root
Password: 
Last login: Sun Sep 10 19:00:11 CST 2023 on pts/0
[root@localhost ~]# logout
[Asi@localhost ~]$ 

说明:普通账号更为root账号,

  • su:单纯的账号切换。
  • su -:让root账号重新登录。
  • 需要输入root用户的密码。

普通用户之间的切换

susu -命令切换到普通用户和root是一样的,所以你需要切换到另一个用户,前提还是需要知道Ta的密码啦~

[Asi@localhost ~]$ whoami
Asi
[Asi@localhost ~]$ su cyn
Password: 
[Asi@localhost ~]$ su - cyn
Password: 
[Asi@localhost ~]$ 

sudo提权

普通用户可以使用 sudo 执行需要root用户权限的命令,例如安装软件、修改系统配置文件或执行系统维护任务。

[Asi@localhost ~]$ sudo ls
[sudo] password for Asi: 
Asi is not in the sudoers file.  This incident will be reported.

若显示"xx is not in the sudoers file. This incident will be reported."说明该普通用户没有sudo权限,因为新建的普通用户默认不支持sudo权限。
在这里插入图片描述
需要编辑"sudoers"文件。步骤如下:

  1. 首先切换到root用户,输入以下命令(或使用 vim /etc/sudoers)
[root@localhost ~]# sudo visudo
  1. 在文件中查找下面的行(可以在底行模式输入/Allow搜索即可)
## Allow root to run ang commands anywhere
  1. 在上述行的下面,添加一行以允许普通用户使用sudo。例如,如果要允许用户"Asi"使用sudo,可以添加以下行:
    在这里插入图片描述

然后我们创建一个test.txt文件,是以普通用户Asi创建的,然后我们再用sudo命令创建一个test2.txt的文件,并没有要求我输入密码,是因为以方便普通用户在几分钟或者十几分钟之内可能仍需要强权执行任务。

[Asi@localhost ~]$ sudo ls
[sudo] password for Asi:
[Asi@localhost ~]$ touch test.txt
[Asi@localhost ~]$ ll
total 0
-rw-rw-r-- 1 Asi Asi 0 Sep 10 19:52 test.txt
[Asi@localhost ~]$ sudo touch test2.txt
[Asi@localhost ~]$ ll
total 0
-rw-r--r-- 1 root root 0 Sep 10 19:53 test2.txt
-rw-rw-r-- 1 Asi  Asi  0 Sep 10 19:52 test.txt

Linux权限管理

在linux操作系统当中,大多数的操作都涉及对于文件的操作。所以说,权限通常与文件、目录关联在一起。

文件访问者的分类(人)

  • 拥有者:文件和文件目录的所有者:u—User(中国平民 法律问题)
  • 所属组:文件和文件目录的所有者所在的组的用户:g—Group
  • other:其它用户:o—Others (外国人)

📌说明:那么上面的root用户和普通用户,与这里的用户有冲突吗?并不是,超级用户与普通用户是指具体的人,而这里的文件访问者可以看作一种角色,而具体的人,可以承担各种各样的角色。

文件类型和访问权限(事物属性)

[Asi@localhost ~]$ ll
total 4
-rw-rw-r-- 1 Asi Asi 103 Sep 11 10:31 test.txt

在这里插入图片描述

文件类型

⚠️注意:在Linux当中,Linux系统本身区分文件类型与后缀无关,是与该文件是否具有可执行权限有关,后缀是给人看的!

那么Linux文件类型如何分类呢?用第一列的第一个字符来区分文件类型。

  • d[directory]:文件夹
  • -:普通文件
  • l[link]:软链接(类似Windows的快捷方式)
  • b[block]:块设备文件(例如硬盘、光驱等)
  • p[pipe]:管道文件
  • c[char]:字符设备文件(例如屏幕等串口设备)
  • s[socket]:套接口文件

基本权限

  • 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
  • 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
  • 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
  • “-” :表示不具有该项权限。

文件权限值的表示方法

  1. 字符表示方法
Linux表示说明Linux表示说明
r - -只读- w -仅可写
- - x仅可执行r w -可读可写
- w x可写可执行r - x可读可执行
r w x可读可写可执行- - -无权限
  1. 八进制数值表示方法
权限符号八进制二进制
r4100
w2010
x1001
r w6110
r x5101
w x3011
r w x7111
- - -0000

文件访问权限的相关设置方法

1. chmod命令

  • 功能:设置文件的访问权限

  • 格式:chmod [参数] 权限 文件名

  • 常用选项

    • R->递归修改目录文件的权限
    • 说明:只有文件的拥有者和root才可以修改文件的权限
  • chmod命令权限值的格式

    • ①用户标识符+、-、=权限字符

    权限符号
    +:向权限范围增加权限代号所表示的权限
    -:向权限范围取消权限代号所表示的权限
    =:向权限范围赋予权限代号所表示的权限
    用户标识符:
    u:拥有者
    g:拥有者同组用
    o:其它用户
    a:所有用户

    • 示例
    [Asi@localhost ~]$ ll
    total 4
    -rw-rw-r-- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-rw-r-- 1 Asi Asi 103 Sep 11 10:31 test.txt
    [Asi@localhost ~]$ chmod u+x abc.txt
    [Asi@localhost ~]$ ll
    total 4
    -rwxrw-r-- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-rw-r-- 1 Asi Asi 103 Sep 11 10:31 test.txt
    [Asi@localhost ~]$ chmod g+x,o+w abc.txt
    [Asi@localhost ~]$ ll
    total 4
    -rwxrwxrw- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-rw-r-- 1 Asi Asi 103 Sep 11 10:31 test.txt
    [Asi@localhost ~]$ chmod a+x test.txt
    [Asi@localhost ~]$ ll
    total 4
    -rwxrwxrw- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rwxrwxr-x 1 Asi Asi 103 Sep 11 10:31 test.txt
    [Asi@localhost ~]$ chmod u=rw test.txt 
    [Asi@localhost ~]$ ll
    total 4
    -rwxrwxrw- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-rwxr-x 1 Asi Asi 103 Sep 11 10:31 test.txt
    
    • ②三位八进制数字
      示例:
    [Asi@localhost ~]$ ll
    total 4
    -rwxrwxrw- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-rwxr-x 1 Asi Asi 103 Sep 11 10:31 test.txt
    [Asi@localhost ~]$ chmod 664 abc.txt
    [Asi@localhost ~]$ ll
    total 4
    -rw-rw-r-- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-rwxr-x 1 Asi Asi 103 Sep 11 10:31 test.txt
    [Asi@localhost ~]$ chmod 640 test.txt
    [Asi@localhost ~]$ ll
    total 4
    -rw-rw-r-- 1 Asi Asi   0 Sep 11 11:35 abc.txt
    -rw-r----- 1 Asi Asi 103 Sep 11 10:31 test.txt
    

2. chown命令

  • 功能:修改文件的拥有者
  • 格式:chown [参数] 用户名 文件名
  • 示例
    [Asi@localhost ~]$ chown user1 test.txt
    chown: changing ownership of ‘test.txt’: Operation not permitted
    [Asi@localhost ~]$ sudo chown user1 test.txt
    [Asi@localhost ~]$ ll
    total 4
    -rw-rw-r-- 1 Asi   Asi   0 Sep 11 11:35 abc.txt
    -rw-r----- 1 user1 Asi 103 Sep 11 10:31 test.txt
    

3. chgrp命令

  • 功能:修改文件或目录的所属组

  • 格式:chgrp [参数] 用户组名 文件名

  • 常用选项:-R 递归修改文件或目录的所属组

  • 示例

    [Asi@localhost ~]$ sudo chgrp user1 test.txt
    [sudo] password for Asi: 
    [Asi@localhost ~]$ ll
    total 4
    -rw-rw-r-- 1 Asi   Asi     0 Sep 11 11:35 abc.txt
    -rw-r----- 1 user1 user1 103 Sep 11 10:31 test.txt
    

4. umask命令

  • 前提:我们先研究一下默认权限
    通过观察,我们可以看到创建普通文件的默认权限用八进制数字表示是664
    创建目录文件的默认权限用八进制数字表示是775

    [Asi@localhost ~]$ touch test1.txt
    [Asi@localhost ~]$ mkdir dir1
    [Asi@localhost ~]$ ll
    total 8
    drwxrwxr-x 2 Asi   Asi   4096 Sep 11 13:16 dir1
    -rw-rw-r-- 1 Asi   Asi      0 Sep 11 13:16 test1.txt
    
  • 功能:查看或修改文件权限掩码

    • 新建文件起始权限为666,新建目录起始权限为777
    • 所以实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到权限掩码umask的影响。
  • 格式umask [权限值]
    我们可以输入umask查看Linux的默认权限掩码为0002,是需要看后三位,第一位告诉我们为八进制数字,不需要管第一位。那么我们使用umask 0004修改权限掩码之后,再次创建test2.txt文件,发现这个文件的权限变为了662,咦,那么最终的权限是怎么推算的呢?

    [Asi@localhost ~]$ umask
    0002
    [Asi@localhost ~]$ umask 0004
    [Asi@localhost ~]$ touch test2.txt
    [Asi@localhost ~]$ ll
    total 8
    drwxrwxr-x 2 Asi   Asi   4096 Sep 11 13:16 dir1
    -rw-rw-r-- 1 Asi   Asi      0 Sep 11 13:16 test1.txt
    -rw-rw--w- 1 Asi   Asi      0 Sep 11 13:27 test2.txt
    
  • 规则最终权限 = 起始权限 & (~umask) .凡是在权限掩码中出现的权限,最终都要在起始权限中去掉。在这里插入图片描述
    那么,最终的权限就是单纯的起始权限减去umask所得到的结果吗?

    • 验证:
      如果对于一个普通文件起始权限为666,将权限掩码设为003,那么最终普通文件权限会是我们计算的rw-rw--wx权限吗?
      在这里插入图片描述
      我们执行umask 0003,创建一个test3.txt文件,然后执行ll命令,发现此普通文件的权限为rw-rw-r-- .结果是怎么回事呢?
    [Asi@localhost ~]$ umask 0003
    [Asi@localhost ~]$ touch test3.txt
    [Asi@localhost ~]$ ll
    total 8
    -rw-rw-r-- 1 Asi   Asi      0 Sep 11 14:03 test3.txt
    

    👇🤔让我们具体分析一下:
    在这里插入图片描述

    所以我们的计算并不是相减那么简单,当然也并不复杂,这里就需要用到按位与运算符&来计算。我们知道,1 & 1 = 1, 1 & 0 = 0 ,0 & 1 = 0, 0 & 0 = 0,所以我们可以先对umask按位取反再按位与上起始权限,所得到的就是最终权限了。

5. file 命令

  • 功能说明:辨识文件类型
  • 语法: file [选项] 文件或目录
  • 常用选项
    • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
    • -z 尝试去解读压缩文件的内容

目录的权限

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中。
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容。
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。
  1. 进入一个目录,需要什么权限呢?
    我们对拥有者的rwx权限进行了验证,最后没有x权限的情况下,系统提示:-bash: cd: dir: Permission denied,所以,进入一个目录,需要执行权限

    [Asi@localhost study]$ mkdir dir
    [Asi@localhost study]$ ll dir
    total 0
    [Asi@localhost study]$ ll
    total 4
    drwxrwxr-x 2 Asi Asi 4096 Sep 11 14:53 dir
    [Asi@localhost study]$ chmod u-r dir
    [Asi@localhost study]$ cd dir
    [Asi@localhost dir]$ cd ..
    [Asi@localhost study]$ chmod u+r,u-w dir
    [Asi@localhost study]$ cd dir
    [Asi@localhost dir]$ cd ..
    [Asi@localhost study]$ chmod u+w,u-x dir
    [Asi@localhost study]$ ll
    total 4
    drw-rwxr-x 2 Asi Asi 4096 Sep 11 14:53 dir
    [Asi@localhost study]$ cd dir
    -bash: cd: dir: Permission denied
    
  2. 那么对于一个目录的r权限,将有什么限制呢?
    通过下面验证,我们可以知道,是否允许一个指定用户查看目录的文件列表,需要r权限

    [Asi@localhost study]$ ll
    total 4
    d-wxrwxr-x 2 Asi Asi 4096 Sep 11 14:53 dir
    [Asi@localhost study]$ cd dir
    [Asi@localhost dir]$ ls
    ls: cannot open directory .: Permission denied
    [Asi@localhost dir]$ touch test.txt
    [Asi@localhost dir]$ ll
    ls: cannot open directory .: Permission denied
    
  3. 那么对于一个目录的w权限,将有什么限制呢?
    我们删去了dir目录的w权限,发现可以进入该目录,可以查看该目录的文件列表,但是不可以在该目录下创建文件

    [Asi@localhost study]$ chmod u+r,u-w dir
    [Asi@localhost study]$ ll
    total 4
    dr-xrwxr-x 2 Asi Asi 4096 Sep 11 15:03 dir
    [Asi@localhost study]$ cd dir
    [Asi@localhost dir]$ pwd
    /home/Asi/study/dir
    [Asi@localhost dir]$ ll
    total 0
    -rw-rw-r-- 1 Asi Asi 0 Sep 11 15:03 test.txt
    [Asi@localhost dir]$ touch test1.txt
    touch: cannot touch ‘test1.txt’: Permission denied
    

于是, 问题来了~~
换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.
这好像不太对啊, 我张三创建的一个文件, 凭什么被你李四可以删掉? 我们用下面的过程印证一下。

[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld
drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/
[root@localhost ~]# touch /home/root.c
[root@localhost ~]# ls -l /home/
总用量 4
-rw-r--r--. 1 root root 0 9月 19 15:58 abc.c
drwxr-xr-x. 27 lisi lisi 4096 9月 19 15:53 lisi
-rw-r--r--. 1 root root 0 9月 19 15:59 root.c
[root@localhost ~]# su - lisi
[lisi@localhost ~]$ rm /home/root.c #lisi可以删除root创建的文件
rm:是否删除有写保护的普通空文件 "/home/root.c"?y
[lisi@localhost ~]$ exit
logout

一般而言,不同的账号是不会在同一目录下的。

因为默认新建的用户,只有拥有者,也就是`root`才具有权限。
[root@localhost home]# ll
total 24
drwx------ 3 admin    admin    4096 Aug 31 11:14 admin
drwx------ 4 Asi      Asi      4096 Sep 11 14:52 Asi
drwx------ 2 zhangsan zhangsan 4096 Sep 11 12:56 user1
drwx------ 2 zhangsan zhangsan 4096 Sep 11 15:25 zhangsan

   那么假如有特殊情况,应任务需要,在一个团队中多个账号协同共享一些数据呢?这样就不会在某一个人的主工作目录之下,而是在root用户的根目录下创建一个名为shared的目录,要求团队用户都在这个share路径下工作,那么此时对于root的角度来说,other的rwx权限也需要同时放开,那么为了避免他人删除该目录下的一些共享数据(假如两人闹掰了,张三想要删除李四在shared目录里写的文件),此时w权限是不是应该取消呢? 如果取消,那么团队里的成员该如何往shared里面写数据呢?
   这样的问题是不是很棘手,下面针对这个问题,我们引入粘滞位的概念。

粘滞位

[root@localhost ~]# chmod +t /home/ # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
rm: 无法删除"/home/abc.c": 不允许的操作

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除 

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

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

相关文章

D1. Candy Party (Easy Version) Codeforces Round 896 (Div. 2)

Problem - D1 - Codeforces 题目大意&#xff1a;有一个n个数的数组a&#xff0c;要求令每一个数减去一个任意数&#xff0c;然后任选一个数加上&#xff0c;问能否使所有数相等 1<n<2e5 思路&#xff1a;因为要让每个数相等&#xff0c;首先检查他们的和能否平分成n份…

Linux文件属性操作函数

access函数 chmod函数 chown函数 修改文件的所在组或者所有者 truncate函数

RabbitMQ - 如保证消息的可靠性?

目录 一、消息可靠性 1.1、生产者消息确认&#xff08;生产者角度&#xff09; 1.1.1、理论 1.1.2、实践 1.2、消息持久化&#xff08;消息角度&#xff09; 1.2.1、理论 1.3、消费者消息确认&#xff08;消费者角度&#xff09; 1.3.1、理论 1.3.2、实践 1.4、失败重…

母婴用品小程序开发

母婴用品小程序商城开发 商品分类与搜索&#xff1a; 提供母婴用品的分类&#xff0c;如奶粉、尿片、婴儿服装等。 用户可以根据需求进行搜索&#xff0c;快速找到所需的母婴用品。 商品详情与评价&#xff1a; 展示母婴用品的详细信息&#xff0c;包括商品图片、价格、规…

使用Cpolar和极简主义文件管理器构建个人云储存平台并进行公网访问

文章目录 1. 前言2.Tiny File Manager网站搭建2.1.Tiny file manager下载和安装2.2 Tiny file manager网页测试2.2 Tiny file manager网页测试3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试总结 1. 前言 文件共享和查阅是现在网络最常见的应用场景&am…

再见ChatGPT 无需代码能力创建自定义ChatGPT

【无需代码技能】您可以使用3个不同的LLM创建自己的自定义ChatGPT GPT-4 Llama 2Falcon LLM 这是如何与Dante AI创建自己的聊天机器人 Dante AI是一个去中心化的人工智能平台&#xff0c;允许用户创建和训练自己的AI模型。它使用基于区块链的系统来管理数据和交易&#xff…

UG\NX二次开发 获取曲面uv中心点 UF_MODL_ask_face_props

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: UG\NX二次开发 获取曲面uv中心点 UF_MODL_ask_face_props。 效果: 代码: #include "me.hpp"void AskFaceMidpoint() {//选择面tag_t face …

C语言猜数字游戏详解及代码优化

目录 引言&#xff1a; 1.程序思路&#xff1a; 2.代码实现&#xff1a; 2.1.生成游戏菜单&#xff1a; 2.2.构建主函数框架&#xff1a; 2.3.构建游戏函数&#xff1a; 3.游戏源码&#xff1a; 4.程序优化&#xff1a; &#x1f388;优化后源码&#xff1a; 结论…

Power Series and Laplace Transforms

See https://math.libretexts.org/Bookshelves/Analysis/Supplemental_Modules_(Analysis)/Ordinary_Differential_Equations/6%3A_Power_Series_and_Laplace_Transforms

计算机毕设之基于Hadoop+springboot的物品租赁系统的设计与实现(前后端分离,内含源码+文档+教程)

该系统基于Hadoop平台&#xff0c;利用Java语言、MySQL数据库&#xff0c;结合目前流行的 B/S架构&#xff0c;将物品租赁管理的各个方面都集中到数据库中&#xff0c;以便于用户的需要。在确保系统稳定的前提下&#xff0c;能够实现多功能模块的设计和应用。该系统由管理员功能…

编译CentOS Stream 8系统的OpenSSHV9.4rpm安装包

目前OpenSSH版本已至9.4&#xff0c;其作为操作系统底层管理平台软件&#xff0c;需要保持更新以免遭受安全攻击&#xff0c;编译生成rpm包是生产环境中批量升级的最佳途径。编译软件包时与当前的运行环境有较大关系&#xff0c;请注意本安装包系在CentOS Stream 8原生系统纯净…

游戏发行平台都有什么服务和功能?

游戏发行平台通常提供一系列服务和功能&#xff0c;以帮助游戏开发商将游戏推向市场&#xff0c;并为玩家提供游戏。以下是一些常见的游戏发行平台服务和功能&#xff1a; 1、游戏发布 发行平台允许游戏开发商将游戏上传到平台上&#xff0c;以供玩家下载和安装。 2、游戏销售…

【C++】构造函数与析构函数概念简介 ( 构造函数和析构函数引入 | 构造函数定义与调用 | 析构函数定义与调用 | 代码示例 )

文章目录 一、构造函数和析构函数引入二、构造函数简介1、构造函数定义2、构造函数调用3、代码示例 - 构造函数定义与调用 三、析构函数简介1、析构函数定义2、析构函数调用3、代码示例 - 析构函数定义与调用 一、构造函数和析构函数引入 在 C 语言中 , 创建对象时 , 需要进行对…

【数据结构】二叉树的链式存储结构

【数据结构】二叉树的链式存储结构 二叉树的存储结构 typedef int BTDataType; // 二叉树的结构 typedef struct BinaryTreeNode {BTDataType data; // 树的值struct BinaryTreeNode *left; // 左孩子struct BinaryTreeNode *right;// 右孩子 } BinaryTreeNode;二…

华为云云服务器云耀L实例评测 | 上手华为云耀L实例:一篇教学文章就够了

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Linux驱动【day2】

mychrdev.c: #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include<linux/uaccess.h> #include<linux/io.h> #include"head.h" unsigned int major; // 保存主设备号 char kbuf[128]{0}; unsigned int…

Stable Diffusion WebUI内存不够爆CUDA Out of memory怎么办?

在我们运行SD的时候,我们经常会爆CUDA Out of memory。 我们应该怎么办呢? 这是因为我们的显存或者内存不够了。 如果你是用cpu来跑图的则表示内存不够,这个时候就需要换个大点的内存了。 如果你是用gpu来跑图的就说明你显存不够用咯,这时候咋办呢? 下面我将一一述说…

企业架构LNMP学习笔记39

MySQL读写分离案例实现&#xff1a; 搭建M-S复制 主从复制的原理&#xff1a;主服务器开启bin-log&#xff08;记录了写操作&#xff09;&#xff0c;从服务器获取到主服务器的bin-log&#xff0c;记录到relay-log中。从服务器在通过异步的线程方式&#xff0c;对于relay-log…

明星为何会偷税?我国的交税政策是?

近几年常常会看到某明星偷税漏税塌房的&#xff0c;从最开始的震惊&#xff0c;到后面的习以为常&#xff1a;很多明星都在偷税漏税啊。那么明星为什么会是偷税漏税的高发区&#xff1f; 交税标准 个人 根据我国的税务相关法律规定&#xff0c;个人收入每月超过5000&#xf…