Xshell,Shell的相关介绍与Linux中的权限问题

目录

XShell的介绍

Shell的运行原理

 Linux当中的权限问题

Linux权限的概念

Linux权限管理

文件访问者的分类(人)

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

文件权限值的表示方法

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

如何改变文件的访问权限

如何改变文件的拥有者 

如何改变文件的所属组

如何修改文件的掩码

目录的权限 

粘滞位


XShell的介绍

首先,先介绍一下我们学习Linux的工具:Xshell

XShell 是一个流行的 Windows 平台上的 SSH、Telnet 和 Rlogin 客户端,主要用于远程连接 Linux/Unix 系统。它的运行原理大致如下:

  • 1:协议支持: XShell 支持多种远程协议(如 SSH、Telnet、Rlogin 等)。最常用的是 SSH 协议,它提供了安全的加密通信。SSH(Secure Shell)通过加密对客户端和服务器之间的通信进行保护,以防止数据在网络中被窃听和篡改。

  • 2:建立连接

    • 当用户启动 XShell 并配置好远程主机信息(如 IP 地址、端口、用户名等)后,XShell 会尝试通过指定的协议与远程服务器建立连接。
    • 如果使用 SSH 协议,XShell 会首先与远程主机建立 TCP 连接(默认端口是 22)。然后,客户端和服务器之间会通过 SSH 协议进行身份验证,确保通信的安全性。
  • 3:身份验证

    • 对于 SSH 连接,XShell 会使用密码或公私钥对进行身份验证。公私钥对认证方式比密码更加安全,XShell 会首先发送客户端的公钥给服务器,服务器使用自己的私钥进行验证,如果认证通过,则建立安全的通信通道。
  • 4:数据传输

    • 一旦建立连接并完成身份验证,XShell 就会通过 SSH 或其他协议开始数据传输。在通信过程中,所有传输的数据都会被加密,以保证数据的机密性。
    • XShell 主要用于发送终端命令并接收响应,它将用户输入的命令通过协议发送给远程主机,然后显示远程主机的执行结果。
  • 5:终端仿真

    • XShell 提供的终端界面是一个仿真终端(如 VT100、Xterm 等),使用户能够与远程系统交互。它会将远程主机的命令行界面转发到本地显示,并将用户的输入发送到远程主机。
    • 它还支持多种文本编码、颜色主题和脚本功能,用户可以根据需要自定义界面和操作。
  • 6:会话管理

    • XShell 支持多会话功能,可以同时打开多个连接到不同服务器的终端窗口,并通过标签或选项卡管理每个会话。用户可以在不同的终端窗口之间切换,方便管理多个任务。
  • 7:文件传输

    • XShell 提供了与远程主机进行文件传输的功能。通过集成的 SFTP(SSH 文件传输协议),用户可以通过图形化界面在本地计算机和远程服务器之间传输文件。

XShell 的工作流程简要总结:

  • 用户启动 XShell,输入远程服务器的连接信息(如 IP 地址、协议、用户名、密码等)。
  • XShell 通过指定的协议(如 SSH)与远程主机建立 TCP 连接。
  • 进行身份验证(密码或公私钥认证),如果成功,则建立安全的连接。
  • 用户输入命令,XShell 通过协议将命令传输到远程主机并显示返回结果。
  • 支持文件传输和多会话管理,方便用户在不同的远程主机之间进行操作

但是这些只需要知道即可,不需要去特别记忆与深入了解

那么说完Xshell,那么就要跟它名字特别像,但是完全不一样的Shell了。

Shell的运行原理

根据上面的Xshell的介绍,我们知道,XShell 和 Shell 之间有一些本质的区别,尽管它们都与命令行操作和远程连接有关。我们可以从功能、用途、技术实现等多个方面来对比它们。

XShell 是一个 第三方 SSH/Telnet 客户端,它是一个 图形化终端仿真器,用于在 Windows 平台上远程连接到 Linux、Unix 或其他操作系统的 Shell 环境。XShell 提供了一个可视化的界面,使用户能够使用 SSH、Telnet 等协议连接到远程服务器,并通过终端窗口与远程系统的 Shell 交互。

但是Shell 是一个命令行解释器,主要用于与操作系统交互。它接收用户输入的命令并将其传递给操作系统进行处理,然后返回输出结果。Shell 本身是操作系统的一部分,常见的 Shell 包括 Linux 中的 Bash、Zsh、Ksh 等,以及 Windows 中的 Command Prompt(CMD)和 PowerShell。

 那么shell的真实运行原理是上面样子的呢?

我们都知道Windows以图形化界面为交互方式,而Linux以命令行界面为交互方式。Windows和Linux的交互方式虽然不同,但本质上是一样的,图形化界面和命令行界面都是为了让用户进行相关操作,而图形化界面和命令行界面就是我们所说的“外壳程序”。

Linux严格意义上说是一个操作系统,我们称之为“核心(kernel)”,但我们一般用户不能直接使用kernel,就算可以使用,如果出了问题,那么就对于普通用户来说十分难以解决。而是通过kernel的“外壳程序”,也就是所谓的Shell,来与kernel沟通,所以说Shell就相当于中间人,负责二者的交互,所以Shell也叫做命令行解释器。 

换个角度从Windows上解释:

对比Windows中的图形化界面(GUI),我们操作Windows并不是直接操作Windows内核,而是通过图形接口,点击,从而完成我们的操作。Shell对于Linux具有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核,反馈结果再通过内核运行出结果,通过Shell解析给用户。

同样对于手机的操作系统(如 AndroidiOS)虽然它们的架构和桌面操作系统(如 LinuxWindows)有些不同,但也存在类似的层次结构和概念。在手机操作系统中,KernelShell 也扮演着类似的角色,不过由于手机操作系统的设计和使用环境的不同,它们的实现和使用方式也有所不同。

在手机操作系统中,用户通常不会直接与 Kernel 交互,而是通过 Shell 或图形用户界面(GUI)来与操作系统交互。

Shell运行原理:

  •  创建子进程,让子进程进行命令行解释。
  • 子进程出现任何问题,都不影响父进程Shell。

从windows方面解释,就是我们规定上所有的程序都有一个共同的父进程,我们每运行一个程序就是创建了一个它的子进程,例如,登录微信、QQ,steam。而这些子进程当中任何一个进程出现问题,都不会影响父进程,例如,当你的微信出现卡死情况(程序异常)或你的微信被关掉(程序终止),但其他子程序仍然可以运行。

当然在windows下我们可以查看自己电脑上的所有子进程

注意: Shell只是所有外壳程序的统称,例如在centos 7当中的外壳程序名叫bash。 

 Linux当中的权限问题

Linux权限的概念

在Linux中用户一般分为两大类,分别为普通用户与超级用户(root),在Linux中,超级用户可以干任何事情,是不受任何限制,并且对于一个系统来说,有且只有一个。与之相对的就是普通用户,普通用户可以有多个,每个普通用户只可以在自己的工作目录下(/home/xxx)工作,以及在系统上做有限的工作。

换句话来说,所有的权限的概念都是用来限制普通用户的,而超级用户几乎不受限制。

在XShell中如何分辨是超级用户还是普通用户也十分的简单

超级用户的命令提示符是“#”。 

普通用户的命令提示符是“$”。 

 

 除了如何简单辨别外,还有很多相关用户的操作,这里就不在说了,我上一篇的文章中有详细介绍,还有图示操作。

 Linux下进行用户的切换与创建以及细微设置_linux切换用户-CSDNhai

 这里就从sudo方面来简单解释一下权限。

sudo作为提升普通用户的“权力”的指令,他可以sudo修改别的普通用户的账号密码。

但是我们知道对于一个新创建的普通用户,是不允许使用sudo指令的,这样不难理解,如果你买了一个云服务器,然后使用XShell学习Linux,突然有一天你的同学李四说,“你不是买了一个云服务器么,让我使用下可以么?我可以分担云服务器的价钱”,然后你就同意了,假如,李四创建了一个普通用户,他这个普通用户在进行sudo的操作时,不受任何的限制,那么那天李四修改密码,修改错了,把你的修改了,你登不上了,然后李四又不知道自己修改错了,那这就很麻烦。所以为了避免一系列这样的问题,这就引入了对于普通用户权限的限制问题,如果操作系统不信任的普通用户,是不允许sudo的,解决方法也很简单,原理上就是将该用户设置为白名单。

详细操作可以看上篇文章。

这就是权限的简单解释。

Linux权限管理

文件访问者的分类(人)

对于所有用户(包括超级用户)来说,权限可以将用户分为三大类:

  • 文件和文件目录的所有者(文件拥有者)。
  • 文件拥有者所在的组的用户(文件所属组)。
  • 其他用户(other)。除了文件拥有者和文件所属组之外的都叫other。 

需要注意的是:

  • 对于某个文件而言,文件的拥有者、所属组和其他用户的权限是由超级用户(root)和普通用户的身份决定的。
  • 在Linux中,每个用户都必须隶属于某个组,即使该组只有该用户一个人(此时该组的名称通常会与用户的用户名相同)。

这样的权限管理方式有助于更加细粒度地控制文件和目录的访问权限,确保系统的安全性与灵活性。

那么为什么会有所属组这个概念呢? 

下面举个例子。

你在毕业后进入了某家公司,在该公司以后的工作中,你所在的公司将继续致力于推进这款项目的开发,尤其是在我们A组与B组之间的合作和竞争中。A组和B组在同一台Linux服务器上并行开发,采用赛马模式,即每个小组各自独立开发同一项目的不同功能模块或解决方案,最终通过对比效果来决定哪一组的成果能够获得更广泛的采用。

你作为A组的一员,在A组的开发过程中,我们主要关注以下几个方面:

1:对于组内权限管理

在Linux权限管理的角度来看,我们首先根据项目的目标和需求,将工作进行详细拆解,确保每个成员都有明确的任务和交付物。在A组内部,我们进一步划分为多个小组,例如A1小组负责编写代码,A2小组负责撰写文档,A3小组负责与客户沟通等。这些小组都隶属于A组,因此从Linux的角度来看,A1、A2、A3等小组都共享A组的组权限,属于同一个文件所属组。

2:对于不同组之间的权限管理

虽然所有成员都在同一家公司工作,但对于B组的成员来说,A组的工作质量越差,B组的利益就越大。这并不难理解,因为如果A组的表现优于B组,那么B组就会面临竞争压力,甚至可能失去部分机会。因此,在Linux权限管理中,B组可以被视作“other”(其他用户)。B组成员不仅无法访问A组内部的文件,甚至不得干扰或破坏A组的工作成果。这种权限管理确保了A组和B组之间的隔离,从而保护各自的利益和数据安全。

所以总的来说在Linux中存在这样的设定是十分必要的。

如果没有所属组的概念,那么当你创建了一个文件后,要么就是只有你自己(拥有者)能看到,要么就是其他人(other)也都能看到。而你所希望的是你自己和你的小组成员能看到,剩下的人看不到。
于是就有了所属组这个概念,这时你就可以将文件设置为拥有者和所属组可见,而other不可见。然而这不单单是对于公司内中不同普通用户写的代码只允许自己看的问题,这更是涉及到了自己的代码不能让他人(other)去改!!!

所以所属组的存在是为了更灵活的进行权限配置,满足团队协作。

我们可以通过指令ll来查看某一文件或文件目录的拥有者和所属组。

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

权限涉及到某个具体的事物来说,我们还需要讨论事物本身的属性。对于文件来说,我们应该讨论其文件类型,以及是否具有可读、可写和可执行的属性。

在上图中,使用指令ll,我们不免会注意到左边的那前面有一串字符,这串字符实际上就代表着该文件的类型和属性。

这串字符由10个字符组成的。其中第一个字符所代表的就是该文件的文件类型。 

其中不同的字符代表不同的文件类型。

1)-:代表普通文件。
2)d:代表目录。
3)l:代表链接文件(类似于Windows当中的快捷方式)。
4)b:代表块设备文件(例如硬盘、光驱等)。
5)p:管道文件。
6)c:字符设备文件。
7)s:套接口文件。

注意: 在Linux当中,文件类型与文件后缀无关。

剩下的9个字符每三个为一组,分别代表该文件相对于其拥有者、所属组以及other是否拥有某种属性。

不同的字母组合有着不同的作用 

就比如图中,第一个字符代表该文件对于拥有者的权限为:拥有进行可读可写可执行的权限属性,第二个代表是所属组的权限为:拥有进行可读可写可执行的权限属性,第三个代表是对于其他者的权限为:拥有可读课执行的权限属性。

现在我们来阐述一下该文件的类型以及权限。

对于图中的test.txt,通过第一个字符为   -   得知,其是一个普通文件。该文件的拥有者和所属组对其都是可读可写的权限属性,但该文件的other对其只有读的权限属性。

文件权限值的表示方法

字符表示方法

ll指令打印文件权限值时的表示方法就是字符表示法。例如

八进制数值表示法 

字符表示法中的每一个字符所在位置所表示的结果只有两种可能,要么为真,要么为假,因此我们可以将这三个字符换为三个二进制位,进而换为一个八进制位进行表示。例如

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

然而对于上面文件的访问权限设置全为系统默认情况下的,对于不同使用者,难免会存在不满意的情况,所以在Linux下就允许用户自己修改文件的访问权限

如何改变文件的访问权限

指令:chmod

语法: chmod 选项 权限 文件名或目录名
功能: 设置文件的访问权限。
常用选项: -R 递归修改目录文件的权限。

chmod指令权限值的格式:

格式一: 用户符号 +/-/= 权限字符

1)+:向权限范围增加权限代号所表示的权限。
2)-:向权限范围取消权限代号所表示的权限。
3)=:向权限范围赋予权限代号所表示的权限。

用户符号:
1)u:拥有者。
2)g:所属组。
3)o:other。
4)a:所有用户。

 若要同时设置不同类用户的访问权限,则需用逗号隔开。

格式二: 三位八进制数字 

将对应的八进制数转换为二进制,进而设置对应权限值。

如何改变文件的拥有者 

语法: chown 选项 用户名 文件名或目录名
功能: 修改文件的拥有者。
常用选项: -R 递归修改目录文件的拥有者。

所以从上面结果来说:修改文件的拥有者需要root用户进行操作,若是普通用户则需要进行权限提升。 

如何改变文件的所属组

语法: chgrp 选项 用户名 文件名或目录名
功能: 修改文件的所属组。
常用选项: -R 递归修改目录文件的所属组。

同样需要注意的是:修改文件的所属组也需要进行权限提升 。这里就不在演示了

如何修改文件的掩码

我们上面也说了,每个文件与目录在创建的时候都会存在一个默认的权限,这是我们在创建文件的时候都可以看到的,并且同一类文件的默认权限都是一样的。

我们看上图也不难看到后三个文件刚创建的时候权限都是默认一样的,第一个作为目录又与文件不同。

所以说,在实际上,新建文件的默认权限为0666,新建目录的默认权限为0777。其中第一位的0与特殊权限有关,我们这里不必深究,而后面三位就是权限的八进制数值表示方法,我们将其翻译为字符表示方法。

但实际上,把666翻译为字符表达方式rw-rw-rw-,看到的权限往往不是上面的这个值,原因就是在创建文件或目录的时候还要受到umask的影响。假如说默认权限为mask,则实际创建出来的文件权限就为:mask&~umask(&为二进制运算符:全一则1,有0则0)。

关于umask是什么呢

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预定权限。超级用户默认掩码值为0022,普通用户的默认为0002。

语法: umask 权限值

功能: 查看或修改文件掩码。

我们可以通过指令umask查看文件默认掩码。

因此我们实际创建出来的文件和目录的权限值还需要进行进一步换算才能得出。首先我们将掩码的的后三位八进制换算为二进制,然后对其进行按位取反。 

然后将之前的新建文件的默认权限值与其进行按位与操作,得到的二进制数,然后再转化为字符表示法,那么就会对应的是rw-rw-r--

还拿上面的案例进行比喻,在公司分组中,我们作为A组的,是不希望other(B组)的任何人拥有查看我们的文件的权限,所以,我们也可以通过修改umask来设置文件的访问权限。 

目录的权限 

对于文件来说,其可读可写可执行的属性我们都知道分别代表着什么对应的操作,那对于目录来说可读可写可执行又分别代表着什么呢?
1)可读权限: 如果用户没有该目录的可读权限,则无法通过ls指令查看目录中的文件内容。
2)可写权限: 如果用户没有该目录的可写权限,则无法通过一系列指令在目录中创建文件或删除文件。
3)可执行权限: 如果用户没有该目录的可执行权限,则无法通过cd指令进入到目录当中。

那么这就会出现一个问题:

还是拿上面的案例比喻,我们作为公司中A组的一员,如果说A组内有一个人有着不想干的想法,而且这个想法还恰好被B组的某位人知道了,那么作为A组的那位人就是B组的卧底,他就拥有权限删除你写的代码。这是非常不合理的。
那个卧底用户只要拥有某目录的可写权限,就可以删除该目录当中的文件,而不论该用户是否拥有该文件的可写权限,这显然是不合理的。

为了解决这个不合理的问题,Linux引入了粘滞位的概念。

粘滞位

语法: chmod +t 目录名
功能: 给目录加上粘滞位。

当一个用户将某一个目录加上粘滞位后,该目录的权限值的最后一位变为字符“t”。

 

此时另一个用户就算有该目录的可写权限,也无法删除该目录下的文件。 

当一个目录被设置为粘滞位,则该目录下的文件只能由:
1)超级用户删除。
2)该目录的拥有者删除。
3)该文件的拥有者删除。

注意: 虽然目录被加上了粘滞位,但如果用户有该目录的可写权限,则不影响其在该目录下创建文件

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RS®SZM 倍频器

_XLT_ R&SSZM 倍频器 R&SSZM 系列倍频器在 50 GHz 至 170 GHz 的频率范围内具有简便的操作性和精确的输出电平。它们可用于多种应用,例如在汽车领域使用测距雷达,在天文学中使用精密望远镜,在雷达干涉测量中用于分析地球表面。 特…

Unity3D学习FPS游戏(11)敌人AI巡逻(NavMesh)

前言:前面两篇博客已经实现了简单的敌人,但是呢,这样很无趣。因为敌人只会站在原地被攻击,所以本篇我们将实现敌人AI巡逻,让敌人动起来。 敌人AI巡逻 场景丰富一下导航网格NavMesh构建导航网格导航网格优化玩家被当作…

去地面算法——depth_clustering算法调试(1)

1 源码下载 论文: 《2016-Fast Range Image-Based Segmentation of Sparse 3D Laser Scans for Online Operation》 《2017-Efficient Online Segmentation for Sparse 3D Laser Scans》 代码:git链接 2 问题记录 2.1 无法找到qt问题 问题截图&…

NUXT3学习日记一(在我git中拉取代码、文件讲解)

Nuxt 3 是一个基于 Vue 3 的现代框架,用于构建服务器端渲染(SSR)和静态生成的应用程序。它提供了一种简化的方式来创建高性能的 Vue 应用,具有许多强大的功能和优点。以下是 Nuxt 3 的一些主要应用和优点: 一、应用场…

vue3项目中内嵌vuepress工程两种实现方式

目录 一、示例二、创建vuepress工程三、配置vue项目的打包命令四、 通过iframe嵌套实现过程五、 将vue项目打包,启本地服务运行index.html 一、示例 vue项目,点击用户手册按钮,通过a标签跳转到vuepress框架搭建的页面。点击后者通过路由跳转…

简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?

大家好,我是锋哥。今天分享关于【简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?】面试题。希望对大家有帮助; 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同? 在Java编程中,synchro…

centos7上安装mysql

1.现查看虚拟机上有没有wget包,如果没有的话进行安装 yum install -y wget 2.进入MySQL :: Download MySQL Yum Repository下载mysql安装源 找到与linux相应的版本,复制地址,如果找不到地址,可以复制如下 3.下载mysql官方yum源 …

操作系统离散存储练习题

1. (简答题)分页存储管理系统具有快表,内存访问时间为2ns,检索快表时间为0.5ns,快表命中率为80%,求有效访问时间 -分析:首先访问缓存(快表),如果没有找到访问内存(页表&…

PHP搭建开发环境(Windows系统)

要搭建一个完整的PHP动态网站,离不开操作系统、Web服务器、数据库、和PHP软件。 虽然有不错方便的方式,比如使用phpstudio等等等等许多面板都是非常快速不错的方式,但是这里是教会大家如何配置而不只是依赖别人整合好的面板软件,…

开源 2 + 1 链动模式、AI 智能名片、S2B2C 商城小程序在用户留存与品牌发展中的应用研究

摘要:本文以企业和个人品牌发展中至关重要的用户留存问题为切入点,结合管理大师彼得德鲁克对于企业兴旺发达的观点,阐述了用户留存对品牌营收的关键意义。在此基础上,深入分析开源 2 1 链动模式、AI 智能名片、S2B2C 商城小程序在…

SpringBoot后端解决跨域问题

1.全局方式 新建一个conifg配置类,内容如下: Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**")//是否发送Cookie.allowCrede…

「数据要素」行业简报|2024.11.上刊

纵观数据要素行业动态,洞察行业风向,把握行业脉搏! 一、政策发布 1、《山东省公共数据资源登记管理工作规范(试行)》公开征求意见 11月7日,为认真贯彻落实《中共中央办公厅 国务院办公厅关于加快公共数据资源开发利用的意见》《…

什么是RAG? LangChain的RAG实践!

1. 什么是RAG RAG的概念最先在2020年由Facebook的研究人员在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出来。在这篇论文中他们提出了两种记忆类型: 基于预训练模型(当时LLM的概念不像现在这么如日中天&#xff0…

Vite初始化Vue3+Typescrpt项目

初始化项目 安装 Vite 首先,确保你的 Node.js 版本 > 12.0.0。然后在命令行中运行以下命令来创建一个 Vite Vue 3 TypeScript 的项目模板: npm init vitelatest进入项目目录 创建完成后,进入项目目录: cd vue3-demo启动…

nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。

在项目中会碰见需要在nginx代理多个项目,如果在加上uniapp开发的H5端的项目,你还要在nginx中区分PC端和手机H5端,这就会让人很头大!网上大部分的资料都是采用在nginx的conf配置文件中添加区分pc和手机端的变量例如:set…

软件测试项目实战

软件测试是使用人工或者自动的手段来运行或者测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 在软件投入使用前,要经过一系列的严格测试,才能保证交付质量。 一、引言 1.编写目的 本文档…

2024开发者浏览器必备扩展,不允许还有人不知道~

在开发过程中,优秀的扩展工具能够极大提升我们的工作效率,简化工作流程,并使得在浏览器中的开发和调试变得更加便捷。 根据市场占比,Chrome、Safari、Edge、Firefox、Opera 是前五大浏览器,其中Chrome浏览器占据了领先…

分享一个傻瓜式一键启动的加速器

主要发现开通一个号能电脑手机互通,原来电脑手机各一个加速器钱包在滴血。。。一个月也很便宜差不多二十多 链接放这了,有需要自提:首页-小熊加速器http://xxjsq.co/ytfa

TDesign了解及使用

文章目录 1、概述2、快速开始2.1使用 npm 安装2.2通过 浏览器引入 安装2.3、使用 3、简单案例3.1 路由创建3.2、 页面创建3.3、 Table组件3.4、序号展示3.5、 图片展示及预览3.6、 性别字段处理 1、概述 TDesign 是腾讯推出的设计系统,旨在提供一致的设计语言和视觉…

11Java面向对象高级(篇2,Java程序的核心套路!!!!)

更多java知识请点击上面专栏!!! 修道之始: 01Java基础入门(纯小白也能入门,速通Java,知识点归纳超级全面!!!2024版后端成仙起始篇!!!…