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

【Linux基础】权限管理

在这里插入图片描述

​👻内容专栏: 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),则该目录下的文件只能由

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

相关文章:

【Linux基础】权限管理

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

C++初阶--类和对象(中)

目录 类的6个默认成员函数构造函数使用方法 析构函数使用方法 拷贝构造函数使用方法 赋值运算符重载赋值运算符重载 const成员 上篇末尾我们讲到了关于c实现栈相较于c语言在传递参数时的一些优化,但实际上,c在 初始化 清理 赋值 拷贝等方面也做了很大程…...

【MySQL系列】视图特性

「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 视图1.1 视图概念1.2 创建视图1.3 修改互相影响1.4 删除视图1.5 视图规则和限制 视图 1.1 视图概念 视图是一个虚拟表,其内容由查询定义同真实的表一样…...

管理类联考——数学——汇总篇——知识点突破——应用题——最值问题

⛲️ 一、考点讲解 最值问题是应用题中最难的题目,也是考生普遍丢分的题目。最值问题一般要结合函数来分析,一般结合二次函数和平均值定理求解。最值问题的求解步骤是:先设未知变量,然后根据题目建立函数表达式,最后利…...

学习SpringMvc第二战之【SpringMVC之综合案例】

目录 一. 参数传递 1.前期准备工作(替换pom.xml中的部分依赖) 1.1将log4j替换成为slf4j(将打印语句替换成为日志文件输出结果) 2.正式操作 1.基础传参 1.1创建方法,用于验证传参 1.2构建界面回显 1.3设置访问路径(localho…...

【算法日志】单调栈: 单调栈简介及其应用

代码随想录刷题60Day 目录 单调栈简介 单调栈的应用 下次更高温 下一个更大元素1 下一个更大元素2 接雨水 柱状图中最大矩形 单调栈简介 单调栈(Monotonic Stack)是一种特殊的栈数据结构,它满足元素的单调性,这种单调性需…...

VSCode自动分析代码的插件

今天来给大伙介绍一款非常好用的插件,它能够自动分析代码,并帮你完成代码的编写 效果如下图 首先我们用的是VSCode,(免费随便下) 找到扩展,搜索CodeGeeX,将它下载好,就可以实现了 到…...

设计模式之外观模式

文章目录 影院管理项目传统方式解决影院管理传统方式解决影院管理问题分析外观模式基本介绍外观模式原理类图外观模式解决影院管理传统方式解决影院管理说明外观模式应用实例 外观模式的注意事项和细节 影院管理项目 组建一个家庭影院: DVD 播放器、投影仪、自动屏…...

Web端测试和 App端测试有何不同?

Web 端测试和 App 端测试是针对不同平台的上的应用进行测试,Web应用和App端的应用实现方式不同,测试时的侧重点也不一样。 今天这篇文章就来介绍下两者的不同之处以及测试时的侧重点。 同时,我也准备了一份软件测试面试视频教程&#xff08…...

12.(Python数模)(相关性分析一)相关系数矩阵

相关系数矩阵 相关系数矩阵是用于衡量多个变量之间关系强度和方向的统计工具。它是一个对称矩阵,其中每个元素表示对应变量之间的相关系数。 要计算相关系数矩阵,首先需要计算每对变量之间的相关系数。常用的相关系数包括皮尔逊相关系数和斯皮尔曼相关…...

系统架构设计师(第二版)学习笔记----嵌入式系统及软件

【原文链接】系统架构设计师(第二版)学习笔记----嵌入式系统及软件 文章目录 一、嵌入式系统1.1 嵌入式系统的组成1.2 嵌入式系统的特点1.3 嵌入式系统的分类 二、嵌入式软件2.1 嵌入式系统软件分层2.2 嵌入式软件的主要特点 三、安全攸关软件的安全性设…...

Python列表操作指南:索引、切片、遍历与综合应用

文章目录 列表简介创建列表索引和切片列表的长度列表的拼接和重复检查元素是否存在列表的方法index() 方法count() 方法 列表的修改和删除修改元素删除元素列表的排序和反转添加元素 列表的拷贝列表的遍历列表的切片列表的嵌套列表推导式 python精品专栏推荐python基础知识&…...

第15章_锁: MySQL并发访问相同记录以及从数据操作的类型划分锁(读锁、写锁)

事务的 隔离性 由这章讲述的 锁 来实现。 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在程序开发中会存在多线程同步的问题, 当多个线程并发访问某个数据的时候, 尤其是针对一些敏感数据(订单, 金额), 我们就需要保证这个数据在任何时刻最多只有一个线…...

PHP 排序函数使用方法,按照字母排序等操作

详解PHP排序方法使用 一、sort() 函数 用于对数组单元从低到高进行排序。 //数组 $data array(D,F,A,C,B); //排序 sort($data); //输出排版标签 echo "<pre>"; //打印数据 print_r($data);die;输出结果&#xff1a; 二、rsort() 函数 用于对数组单元从高到…...

windows本地验证码识别工具

windows本地验证码识别小工具 - 可以用在windows系统中&#xff0c;并可以集成在Java或python程序中 演示视频如下&#xff1a;可用于识别4-7位的字母数字组合的验证码&#xff08;识别准确率在70% - 80%&#xff09;。 验证码识别演示 本项目未开源&#xff0c;如需使用请联…...

修改图片尺寸的几个简单方法

修改图片尺寸的几个简单方法~~图片&#xff0c;是我们常用的文件格式&#xff0c;也是日常生活与工作中重要的文件。图片记录了非常多的元素和内容&#xff0c;其中不乏有工作上的内容&#xff0c;也有对一些日常生活的记录。所以说&#xff0c;图片文件对我们来说是非常重要的…...

三、GoLang字符串的基本操作

一、转义符是什么? 转义字符意义\n换行&#xff0c;将当前位置移动到下一行开头\r回车&#xff0c;将当前位置移到本行开头\t相当于一个Tab键\\代表一个反斜线“\”\"代表一个双引号字符 代码实战 package mainimport "fmt"/* *字符串基本用法 */ func main…...

基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏

目录 引出安装npm install安装element-ui安装axios 进行配置main.js中引入添加jwt前端跨域配置 进行初始布局HomeView.vueApp.vue 新增页面和引入home页面导航栏总结 引出 1.vue-cli创建前端工程&#xff0c;安装element-ui&#xff0c;axios和配置&#xff1b; 2.前端跨域的配…...

在 ubuntu20.04 上安装 Pytorch

参考资料&#xff1a;https://www.linode.com/docs/guides/pytorch-installation-ubuntu-2004/ sudo apt update sudo apt install nvidia-cuda-toolkit (3G) mkdir anaconda cd ~/anaconda wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh chmod …...

远程恋爱网站部署秘籍——群晖虚拟机助ni秀恩爱

文章目录 前言1. 安装网页运行环境1.1 安装php1.2 安装webstation 2. 下载网页源码文件2.1 访问网站地址并下载压缩包2.2 解压并上传至群辉NAS 3. 配置webstation3.1 配置网页服务3.2 配置网络门户 4. 局域网访问静态网页配置成功5. 使用cpolar发布静态网页&#xff0c;实现公网…...

vscode c++解决包含头文件红色波浪线问题

安装c/c插件后&#xff0c;按ctrlshiftp&#xff0c; 点击打开了c_cpp_properties.json文件&#xff0c;对其中的IncludePath进行编辑&#xff0c;示例如下&#xff1a; "includePath": ["${workspaceFolder}/**","${workspaceFolder}/include/**&q…...

PostgreSQL docker compose安装配置

docker-compose.yml如下&#xff1a; version: 3services:postgres:image: postgres:15.4healthcheck:test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]timeout: 45sinterval: 1…...

电脑文件批量重命名:高效操作技巧

随着时间的推移&#xff0c;我们积累的文件和文件夹数量越来越多&#xff0c;需要对它们进行合理的命名和管理&#xff0c;以便更方便地查找和利用。而文件批量重命名功能可以帮助我们更高效地管理文件夹。下面介绍五种方式&#xff0c;帮助你更好地利用文件批量重命名工具&…...

c高级day4(shell)

实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数写一个函数&#xff0c;输出当前用户的uid和gid&#xff0c;并使用变量接收结果...

整十粉丝庆祝文章系列内容征集建议

亲爱的读者们&#xff0c;大家好&#xff01; 作为一名文章作者&#xff0c;我深知没有读者的支持和喜爱&#xff0c;我的文字就只是无意义的文字堆积。因此&#xff0c;为了庆祝与感谢大家长久以来的支持&#xff0c;我准备举办一场特别的活动——粉丝庆祝文章系列内容征集建…...

两数乘积:输出1~100整数乱序列表中两数乘积是目标整数的最小下标对

给定1~100整数的乱序列表&#xff0c;查找并输出乘积是用户指定整数的两个整数下标对。 (本笔记适合熟练掌握Python列表的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教…...

【JavaSE】面试01

文章目录 1. JDK、JRE、JVM之间的关系2. 补充3. 面试题&#xff1a;重载和重写的区别&#xff1f;4. super和this5. &#xff08;重点&#xff01;&#xff01;&#xff09;若父类和子类均有静态代码块、实例代码块以及无参构造方法&#xff0c;则继承关系上的执行顺序&#xf…...

Elasticsearch(二)kibana数据检索

Elasticsearch(二)kibana数据检索 1.简述 有了数据学习使用kibana调用api检索数据&#xff0c;熟练kibana操作后再进一步使用spring data。 term用于keyword类型数据精准查询&#xff0c;类似mysqlmatch 用于text类型数据分词查询&#xff0c;倒排索引 首先针对keyword文本…...

JavaScript编程语法作业

目录 目录 前言 思维导图 1&#xff0c;作业资源 2&#xff0c;if语句练习 2.1代码解读: 2.2,结果展示: 3&#xff0c;switch语句练习 3.1,代码解读: 3.2,结果展示: 4.while循环练习 4.1,代码解读: 4.2.结果展示: 5.do-while循环练习 5.1,代码解读: 5.2,结果展…...

服务器中了Malloxx勒索病毒应该怎么办?勒索病毒解密,数据恢复

Malloxx勒索病毒是一种近年来发现的电脑病毒&#xff0c;它以加密用户电脑中的重要文件数据为手段&#xff0c;威胁用户并以此勒索钱财。这种病毒的传播方式多种多样&#xff0c;可以通过电子邮件、恶意网站、网络下载等方式进行传播。一旦电脑被感染&#xff0c;病毒会立即锁住…...

安卓app软件开发教程/广州seo网站排名

chrome下运行编写的JavaScript代码时&#xff0c;在工具javascript控制台下有时会出现“Uncaught SyntaxError: Unexpected identifier ”的报错&#xff0c;经过我反复查看代码最后得出&#xff0c;原来是代码中缺少一个“,”&#xff08;英文逗号&#xff09;。 后经在网上查…...

公司网站设计怎么做/苏州网站制作公司

HDU 3790 最短路径问题Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription 给你n个点&#xff0c;m条无向边&#xff0c;每条边都有长度d和花费p&#xff0c;给你起点s终点t&#xff0c;要求输出起点到终点的最短距离及其花费&…...

北京建设教育协会网站/做了5天游戏推广被抓了

第一次安装JDK1.5&#xff0c;使用Eclipse&#xff0c;毫无问题。后为了改变JDK1.5安装路径故卸载重装&#xff0c;然后就发现用不了&#xff1b; 让我去.metadata/.log查看&#xff1b; !SESSION 2013-10-03 09:39:56.500 ----------------------------------------------- ec…...

做的不错的网站/怎么在百度打广告

给出一个数组x&#xff0c;然后基于一个二次函数&#xff0c;加上一些噪音数据得到另一组数据y。 将得到的数组x&#xff0c;y&#xff0c;构建一个机器学习模型&#xff0c;采用梯度下降法&#xff0c;通过多次迭代&#xff0c;学习到函数的系数。使用python和numpy进行编程&a…...

南宁建筑网站/企业seo如何优化

简单介绍mac安装kafka&#xff0c;非源码安装&#xff0c;而是使用homebrew进行安装 查看信息 brew info kafka安装 brew install kafka启动 kafka-server-start /usr/local/etc/kafka/server.properties & zookeeper-server-start /usr/local/etc/kafka/zookeeper.pro…...

wordpress除了主页其他都是404/seo内容优化是什么

Description 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种&#xff0c;获取的条件各自不同&#xff1a;1) 院士奖学金&#xff0c;每人8000元&#xff0c;期末平均成绩高于80分&#xff08;>80&#xff09;&#xff0c;并且在本学期内发表1篇或1篇以…...