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

【Linux权限 (二)】Linux权限机制深度解析:umask如何决定默认权限与粘滞位的妙用

🔥艾莉丝努力练剑:个人主页

专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬艾莉丝的简介:


🎬艾莉丝的Linux专栏简介:


目录

前情提示

1  ~>  本期指令

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

3  ~>  所属组补充

34  file(知识点补充)

34.3  file指令回顾

34.3.1  功能说明

34.3.2  语法

34.3.3  常用选项

34.4  file:查看文件更详细类型

41  sudo(补充知识点)

41.4  使用sudo分配权限

41.4.1  修改/etc/sudoers文件分配文件

41.4.2  使用sudo调用授权的命令

41.4.3  示例

53  umask

53.1  功能

53.2  格式

53.3  说明

53.4  示例

53.5  最佳实践

3  ~>  为什么新建文件的时候,新建的就是我们看到的权限?

3.1  程序掩码

3.2  一些细节

3.3  最佳实践

4  ~>  权限收尾

4.1  目录的权限

4.2  关于权限的总结

5  ~>  粘滞位(虽是选学,但很重要!)

5.1  粘滞位基础

5.1.1  示例

5.1.2  被设置为粘滞位的目录谁能删?

5.2  再谈关于文件删除的话题

5.2.1  普通账号自己删自己创建的文件

5.2.2  普通账号也可以删除root账号创建的文件

5.2.3  删除文件不由目标文件决定,由你这个文件所在的目录权限决定

5.3  关于Linux操作系统的话题

博主手记

一、为什么新建文件的时候,新建的直接就是我们看到的权限

二、粘滞位

结尾


前情提示

1  ~>  本期指令

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

3  ~>  所属组补充

所属组:小范围地进行权限管理。



34  file(知识点补充)

【Linux指令 (四)】基础指令收尾:打包、网络、历史与Shell运行原理深度解析——涵盖tar/scp/history/shutdown等Linux核心运维指令

在前面艾莉丝已经介绍过file这个指令了,这里是再补充一些知识点。

34.3  file指令回顾

34.3.1  功能说明

辨识文件类型。

34.3.2  语法

file [选项] 文件或目录 . . .

34.3.3  常用选项

-c:详细显示指令执行过程,便于排错或分析程序执行的情形。
-z:尝试去解读压缩文件的内容。

34.4  file:查看文件更详细类型

file除了可以查看文件的类型之外——

[jqj@VM-4-17-centos ~]$ file test.txt
test.txt: empty

还可以——

功能:查看一个文件的更详细类型。

[jqj@VM-4-17-centos dir]$ file /user/bin/ls
/user/bin/ls: cannot open (No such file or directory)// 注意不要错写成user哦!!![jqj@VM-4-17-centos dir]$ file /usr/bin/ls
/usr/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c8ada1f7095f6b2bb7ddc848e088c2d615c3743e, stripped
[jqj@VM-4-17-centos dir]$ file /usr/bin/yum
/usr/bin/yum: Python script, ASCII text executable


41  sudo(补充知识点)

41.4  使用sudo分配权限

41.4.1  修改/etc/sudoers文件分配文件

# chmod 740 /etc/sudoers
# vi /etc/sudoer

格式:接受权限的用户登陆的主机 =(执行命令的用户)命令。

41.4.2  使用sudo调用授权的命令

$ sudo-u 用户名 命令

41.4.3  示例

$ sudo -u root /usr/sbin/useradd u2

53  umask

53.1  功能

1、查看或修改文件掩码;

2、新建文件夹默认权限=0666;

3、新建目录默认权限=0777;

4、但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是:mask &(~umask)——umask先取反,再和默认权限按位与。

53.2  格式

umask权限值。

53.3  说明

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

53.4  示例

umask 755
umask //查看
umask 044//设置

53.5  最佳实践


3  ~>  为什么新建文件的时候,新建的就是我们看到的权限?

3.1  程序掩码

3.2  一些细节

细节1:不同的系统,不同的用户,umask可能不一样!
细节2:不用担心umask倍更改的问题,退出XShell登录,重新登陆,umask就会恢复默认;
细节3:然后创建一批普通文件?只需要这样:举个例子——hello{1.100}.txt。

3.3  最佳实践

[jqj@VM-4-17-centos ~]$ ll
total 8
drwxrwxr-x 2 jqj jqj 4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj jqj 4096 Oct 27 12:19 gitcode
-rw-rw-r-- 1 jqj jqj    0 Oct 23 11:58 test.txt
[jqj@VM-4-17-centos ~]$ touch hello{1..100}.txt
[jqj@VM-4-17-centos ~]$ ll
total 8
drwxrwxr-x 2 jqj jqj 4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj jqj 4096 Oct 27 12:19 gitcode
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello100.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello10.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello11.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello12.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello13.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello14.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello15.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello16.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello17.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello18.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello19.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello1.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello20.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello21.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello22.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello23.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello24.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello25.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello26.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello27.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello28.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello29.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello2.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello30.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello31.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello32.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello33.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello34.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello35.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello36.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello37.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello38.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello39.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello3.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello40.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello41.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello42.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello43.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello44.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello45.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello46.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello47.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello48.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello49.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello4.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello50.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello51.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello52.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello53.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello54.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello55.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello56.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello57.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello58.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello59.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello5.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello60.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello61.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello62.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello63.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello64.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello65.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello66.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello67.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello68.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello69.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello6.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello70.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello71.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello72.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello73.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello74.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello75.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello76.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello77.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello78.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello79.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello7.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello80.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello81.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello82.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello83.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello84.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello85.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello86.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello87.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello88.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello89.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello8.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello90.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello91.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello92.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello93.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello94.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello95.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello96.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello97.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello98.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello99.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:23 hello9.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 23 11:58 test.txt

4  ~>  权限收尾

4.1  目录的权限

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

[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 litao litao 4096 9⽉ 19 15:53 litao
-rw-r--r--. 1 root root 0 9⽉ 19 15:59 root.c
[root@localhost ~]$ su - litao
[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的⽂件 
rm:是否删除有写保护的普通空文件 "/home/root.c"?y
[litao@localhost ~]$ exit 
logout

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

4.2  关于权限的总结

(1)目录的可执行权限是表示你可否在目录下执行命令;

(2)如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目,即使目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件);

(3)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限;

(4)所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。


5  ~>  粘滞位(虽是选学,但很重要!)

5.1  粘滞位基础

5.1.1  示例

[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": 不允许的操作

5.1.2  被设置为粘滞位的目录谁能删?

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

5.2  再谈关于文件删除的话题

5.2.1  普通账号自己删自己创建的文件

[jqj@VM-4-17-centos ~]$ ll
total 8
drwxrwxr-x 2 jqj jqj 4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj jqj 4096 Oct 27 12:19 gitcode
-rw-rw-r-- 1 jqj jqj    0 Oct 23 11:58 test.txt
[jqj@VM-4-17-centos ~]$ pwd
/home/jqj
[jqj@VM-4-17-centos ~]$ touch hello{1..4}.txt
[jqj@VM-4-17-centos ~]$ ll
total 8
drwxrwxr-x 2 jqj jqj 4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj jqj 4096 Oct 27 12:19 gitcode
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:10 hello1.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:10 hello2.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:10 hello3.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 30 15:10 hello4.txt
-rw-rw-r-- 1 jqj jqj    0 Oct 23 11:58 test.txt

同理也可以删除——

[jqj@VM-4-17-centos ~]$ rm hello{1..4}.txt
[jqj@VM-4-17-centos ~]$ ll
total 8
drwxrwxr-x 2 jqj jqj 4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj jqj 4096 Oct 27 12:19 gitcode
-rw-rw-r-- 1 jqj jqj    0 Oct 23 11:58 test.txt

5.2.2  普通账号也可以删除root账号创建的文件

[root@VM-4-17-centos jqj]# touch hello{1..4}.txt
[root@VM-4-17-centos jqj]# ll
total 8
drwxrwxr-x 2 jqj  jqj  4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj  jqj  4096 Oct 27 12:19 gitcode
-rw-r--r-- 1 root root    0 Oct 30 15:15 hello1.txt
-rw-r--r-- 1 root root    0 Oct 30 15:15 hello2.txt
-rw-r--r-- 1 root root    0 Oct 30 15:15 hello3.txt
-rw-r--r-- 1 root root    0 Oct 30 15:15 hello4.txt
-rw-rw-r-- 1 jqj  jqj     0 Oct 23 11:58 test.txt

普通账号也可以删除root账号创建的文件!!!

[jqj@VM-4-17-centos ~]$ rm hello{1..4}.txt
rm: remove write-protected regular empty file ‘hello1.txt’? y
rm: remove write-protected regular empty file ‘hello2.txt’? y
rm: remove write-protected regular empty file ‘hello3.txt’? y
rm: remove write-protected regular empty file ‘hello4.txt’? y
[jqj@VM-4-17-centos ~]$ ll
total 8
drwxrwxr-x 2 jqj jqj 4096 Oct 30 10:47 dir
drwxrwxr-x 3 jqj jqj 4096 Oct 27 12:19 gitcode
-rw-rw-r-- 1 jqj jqj    0 Oct 23 11:58 test.txt

5.2.3  删除文件不由目标文件决定,由你这个文件所在的目录权限决定

5.3  关于Linux操作系统的话题

[jqj@VM-4-17-centos /]$ ll
total 72
lrwxrwxrwx.   1 root root     7 Mar  7  2019 bin -> usr/bin
dr-xr-xr-x.   5 root root  4096 Jul  8  2024 boot
drwxr-xr-x    2 root root  4096 Nov  5  2019 data
drwxr-xr-x   19 root root  3040 Sep 10 22:54 dev
drwxr-xr-x.  95 root root 12288 Oct 23 10:29 etc
drwxr-xr-x.   5 root root  4096 Oct 23 10:05 home
lrwxrwxrwx.   1 root root     7 Mar  7  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root     9 Mar  7  2019 lib64 -> usr/lib64
drwx------.   2 root root 16384 Mar  7  2019 lost+found
drwxr-xr-x.   2 root root  4096 Apr 11  2018 media
drwxr-xr-x.   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x.   4 root root  4096 Sep 10 22:54 opt
dr-xr-xr-x  108 root root     0 Sep 10 22:53 proc
dr-xr-x---.   9 root root  4096 Oct 27 18:23 root
drwxr-xr-x   27 root root  1000 Oct 28 16:54 run
lrwxrwxrwx.   1 root root     8 Mar  7  2019 sbin -> usr/sbin
-rw-r--r--    1 root root     0 Oct 30 00:38 shared_dir
drwxr-xr-x.   2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x   13 root root     0 Sep 27 17:51 sys
drwxrwxrwt.   9 root root  4096 Oct 30 03:47 tmp
drwxr-xr-x.  14 root root  4096 Jan  8  2021 usr
drwxr-xr-x.  20 root root  4096 Jan  8  2021 var

博主手记

一、为什么新建文件的时候,新建的直接就是我们看到的权限

二、粘滞位


结尾

uu们,本文的内容到这里就全部结束了,艾莉丝再次感谢您的阅读!

往期回顾:

【Linux权限 (一)】厘清三大“角色”,看懂文件权限规则

结语:本期我们在前一篇博客的基础上继续深入学习了Linux中的指令篇,希望对学习Linux指令相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡

૮₍ ˶ ˊ ᴥ ˋ˶₎ა

http://www.dtcms.com/a/550397.html

相关文章:

  • 基于 Flask + APScheduler + MySQL 的自动报表系统设计
  • 建筑设计自学网站怎么开发一个自己的网站
  • go做网站网站建设优化东莞
  • AI智能座舱是什么?
  • 传奇手游网站大全9377网站建设哪便宜
  • 2023/12 JLPT听力原文 问题四
  • 域名备案时网站名称全国信息企业公示系统
  • Tokio的多线程调度器架构:深度解析与实践
  • Ubuntu(①shell脚本)
  • 个人婚礼网站模板网站建设 丽水
  • 服装定制网站模板茂名建站模板搭建
  • VB.NET 与 C# 文件操作文本到二进制文件的读写
  • ROS2系列 (12) : 自定义msg通信接口
  • 建设科技网络网站的意义和目的国产长尾关键词拘挖掘
  • 个人网站备注wordpress 模板 旅游
  • 嘉定南翔网站建设南阳平面设计培训学校
  • HTML做网站的书籍临沂做网站哪家好
  • 购物网站开发含代码织梦网站安装教程视频
  • k8s 实战入门
  • 网站建设与管理报告书先域名 还是先做网站
  • SQL -- GROUP BY 基本语法
  • 简易 建站做外贸自己建网站
  • 带数据库的网站怎么建收到短信说备案被退回但工信部网站上正常啊
  • 莆田专业建站公司手机怎么建立网站
  • 成都的网站建设开发公司如何看网站是谁做的
  • 彩票网站建设哪家公司好贾汪徐州网站开发
  • PyTorch实战:CV模型搭建全指南
  • Spring Boot 常见性能与配置优化
  • 网站广告文案商务网站的建设阶段包括
  • 老显卡老cpu用vllm推理大模型失败Intel(R) Xeon(R) CPU E5-2643 v2