Kerberos认证原理与环境部署
nanshan 2025-05-26 17:45 7 浏览 0 评论
一、概述
Kerberos是为TCP/IP网络系统设计的可信的第三方认证协议,用于身份认证。网络上的Keberos服务基于DES对称加密算法,但也可以用其他算法替代。因此,Keberos是一个在许多系统中获得广泛应用的认证协议。Keberos最初是美国麻省理工学院(MIT)为Athena项目开发的。
官网:https://www.kerberos.org/
官方文档:http://web.mit.edu/kerberos/krb5-current/doc/
1)应用场景
Kerberos采用客户端/服务器(CS)结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证,是一种应用对称密钥体制进行密钥管理的系统。可以用于防止窃听、防止replay攻击、保护数据完整性等场合。
2)功能特性
- 安全性
Kerberos提供双向认证,不仅Server可以对Client 进行认证,Client也能对Server进行认证。Server对Client认证成功之后,通过返回Client发送的时间戳,向Client提供验证自己身份的手段。
- 可靠性
认证服务是其他服务的基础,服务认证过程有助于提升整个系统的可用性和高可靠性。
- 可扩展性
KDC(秘钥分配中心)是秘钥体系的重要部分,旨在减少密钥体制所固有的交换密钥时所面临的风险。用户可以根据需要扩展多个KDC。
- 开放性
Kerberos已经成为计算机领域一个被广泛接受的标准,所以使用Kerberos可以轻松实现不同平台之间的互操作。
二、Kerberos中的核心概念
Kerberos中有以下一些概念需要了解:
- KDC:密钥分发巾心,负责管理发放票据,记录授权。
- Realm: Kerberos管理领域的标识。
- principal:Kerberos 下的用户可以称为 Principal,当每添加一个用户或服务的时候都需要向kdc添加一条principal, principal的形式为:主名称/实例名@领域名。
- 主名称:主名称可以是用户名或服务名,表示是用于提供各种网络服务(如hdfs、yam,、hive) 的主体。
- 实例名:实例名简单理解为主机名。
- keytab文件:存储了用户的加密密码。常用这种方式认证。
1)用户principal
用户principal的形式:
Name[/Instance]@REALM
其中Instance是可选 的,通常用于更好地限定用户的类型。比如,一个管理员用户通常会有admin instance,即Name/admin@REALM。
下面是指代用户的 一些principal的例子:
pippo@EXAMPLE.COM
admin/admin@EXAMPLE.COM
cnicetoupp/admin@EXAMPLE.COM
2)服务principal
用户principal的形式:
Service/Hostname@REALM
- 第一部分是service的名字,比如imap, AFS, ftp. 通常'host'这个名字被用于指明对一台机器的通用的访问(telnent, rsh, ssh)。
- 第二个component是提供这个服务的机器的全限定域名(FQDN)。这个component跟DNS对应用服务器的IP地址进行逆向解析后得到的主机名。
下面是指代服务principal的例子:
imap/hadoop-node1@EXAMPLE.COM
host/hadoop-node1@EXAMPLE.COM
afs/hadoop-node1@EXAMPLE.COM
3)Ticket
Ticket分两种:
- Ticket Granting Ticket,TGT:这是KDC中的Authentication Server(简称AS)产生的,TGT是向Ticket Granting Server(TGS)用于表明自己真实身份的东西。
- Service Ticket:这是KDC中的Ticket Granting Server(简称TGS)产生的,Service Ticket 是用于向应用服务器表明自己身份的东西
三、Kerberos架构与工作原理
- AS_REQ 是在初始化一个用户(kinit)的时候发出的用户认证请求,这个请求是发给KDC中的Authentication Server (AS);
- AS_REP 是 AS回复给client的信息,其中包括TGT (用TGS secret key加密过的) and the session key (用发请求的用户的secret key加密过的);
- TGS_REQ 是client为了一个service ticket向Ticket Granting Server (TGS)的信息. 其中包括上一条信息中获得的TGT (用TGS secret key加密过的) ,一个客户端产生的一个authenticator(用session key加密过的).
- TGS_REP 是TGS回复给TGS_REQ的信息. 其中包括service ticket(用appservice的secret key加密过),和 一个TGS产生的service sessinon key(之前AS产生的一条session key给加密过的)
- AP_REQ 是一条客户端发给appserver的访问服务的请求,其中包括service ticket和一个authenticator(使用TGS产生的service session key 加密过的)
- AP_REP 是appserver回复给client的一条信息,证明这个appserver确实是客户端希望访问的server。不过这条信息也不一定总是要回复的。比如当客户端和appserver需要相互认证的时候,客户端向appserver发出请求,这个时候就不需要回复信息。
Kerberos认证时序图:
四、Kerberos安装
官方文档:https://kerberos.org/dist/index.html
【温馨提示】这里主机名和域名都在配置/etc/hosts
192.168.0.113 hadoop-node1 server.kerberos.com
192.168.0.114 hadoop-node2 client1.kerberos.com
192.168.0.115 hadoop-node3 client2.kerberos.com
主机名 | IP | 角色 | |
hadoop-node1 | server.kerberos.com | 192.168.0.113 | KDC(Kerberos Server、kadmin) |
hadoop-node2 | client1.kerberos.com | 192.168.0.114 | Kerberos Client |
hadoop-node3 | client1.kerberos.com | 192.168.0.115 | Kerberos Client |
1)Kerberos Server 安装
在hadoop-node1节点上执行如下命令安装Kerberos Server
1、yum安装
- krb5-server:Kerberos服务端程序,KDC所在节点。
- krb5-workstation: 包含一些基本Kerberos程序,比如(kinit, klist, kdestroy,kpasswd),使用Kerberos的所有节点都应该部署。
- krb5-libs:包含Kerberos程序的各种支持类库等。
$ yum install krb5-server krb5-workstation krb5-libs
2、配置 krb5.conf
【温馨提示】/etc/krb5.conf : 客户端根据该文件中的信息取访问KDC
# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/
#Kerberos守护进程的日志记录方式。换句话说,表示 server 端的日志的打印位置。
[logging]
#默认的krb5libs.log日志文件存放路径
default = FILE:/var/log/krb5libs.log
#默认的krb5kdc.log日志文件存放路径
kdc = FILE:/var/log/krb5kdc.log
#默认的kadmind.log日志文件存放路径
admin_server = FILE:/var/log/kadmind.log
#Kerberos使用的默认值,当进行身份验证而未指定Kerberos域时,则使用default_realm参数指定的Kerberos域。即每种连接的默认配置,需要注意以下几个关键的配置:
[libdefaults]
#DNS查找域名,我们可以理解为DNS的正向解析,该功能我没有去验证过,默认禁用。(我猜测该功能和domain_realm配置有关)
dns_lookup_realm = false
# 凭证生效的时限,设置为24h。
ticket_lifetime = 24h
# 凭证最长可以被延期的时限,一般为7天。当凭证过期之后,对安全认证的服务的后续访问则会失败。
renew_lifetime = 7d
# 如果此参数被设置为true,则可以转发票据,这意味着如果具有TGT的用户登陆到远程系统,则KDC可以颁发新的TGT,而不需要用户再次进行身份验证。
forwardable = true
# 我理解是和dns_lookup_realm相反,即反向解析技术,该功能我也没有去验证过,默认禁用即可。
rdns = false
# 在KDC中配置pkinit的位置,该参数的具体功能我没有做进一步验证。
pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
#设置 Kerberos 应用程序的默认领域。如果您有多个领域,只需向 [realms] 节添加其他的语句。其中默认EXAMPLE.COM可以为任意名字,推荐为大写,这里我改成了HADOOP.COM。必须跟要配置的realm的名称一致。
default_realm = HADOOP.COM
# 顾名思义,默认的缓存名称,不推荐使用该参数。
# default_ccache_name = KEYRING:persistent:%{uid}
[realms]
HADOOP.COM = {
# kdc服务器地址。格式 [主机名或域名]:端口, 默认端口是88,默认端口可不写
kdc = server.kerberos.com:88
# # admin服务地址 格式 [主机名或域名]:端口, 默认端口749,默认端口可不写
admin_server = server.kerberos.com:749
# 代表默认的域名,设置Server主机所对应的域名
default_domain = kerberos.com
}
#指定DNS域名和Kerberos域名之间映射关系。指定服务器的FQDN,对应的domain_realm值决定了主机所属的域。
[domain_realm]
.kerberos.com = HADOOP.COM
kerberos.com = HADOOP.COM
#kdc的配置信息。即指定kdc.conf的位置。
[kdc]
# kdc的配置文件路径,默认没有配置,如果是默认路径,可以不写
profile = /var/kerberos/krb5kdc/kdc.conf
3、配置 kdc.conf
【温馨提示】/var/kerberos/krb5kdc/kdc.conf:kdc的专属配置,可以根据自己的需求修改下kdc数据库的存放目录。
[kdcdefaults]
#指定KDC的默认端口
kdc_ports = 88
# 指定KDC的TCP协议默认端口。
kdc_tcp_ports = 88
[realms]
#该部分列出每个领域的配置。
HADOOP.COM = {
#和 supported_enctypes 默认使用 aes256-cts。由于,JAVA 使用 aes256-cts 验证方式需要安装额外的 jar 包(后面再做说明)。推荐不使用,并且删除 aes256-cts。(建议注释掉,默认也是注释掉的)
#master_key_type = aes256-cts
#标注了 admin 的用户权限的文件,若文件不存在,需要用户自己创建。即该参数允许为具有对Kerberos数据库的管理访问权限的UPN指定ACL。
acl_file = /var/kerberos/krb5kdc/kadm5.acl
#该参数指向包含潜在可猜测或可破解密码的文件。
dict_file = /usr/share/dict/words
#KDC 进行校验的 keytab。
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
# ticket 的默认生命周期为24h
max_file = 24h
# #该参数指定在多长时间内可重获取票据,默认为0
max_renewable_life = 7d
#指定此KDC支持的各种加密类型。
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}
4、配置 kadm5.acl
【温馨提示】/var/kerberos/krb5kdc/kadm5.acl:权限相关配置
其中前一个号是通配符,表示像名为“abc/admin”或“xxx/admin”的人都可以使用此工具(远程或本地)管理kerberos数据库,后一个跟权限有关,*表示所有权限。HADOOP.COM是上面配置的realm。
*/admin@HADOOP.COM *
Kerberos kadmind 使用该文件来管理对 Kerberos 数据库的访问权限。对于影响 principa 的操作,ACL 文件还控制哪些 principa 可以对哪些其他 principa 进行操作。文件格式如下:
principal permissions [target_principal [restrictions] ]
相关参数说明:
- principal:设置该 principal 的权限;principal 的每个部分都可以使用 *。
- permissions: 权限,指定匹配特定条目的主体可以执行或不可以执行的操作 。如果字符是大写,则不允许该操作。如果字符是小写,则允许该操作。有如下一些权限:a:[不]允许添加主体或策略。d:[不]允许删除主体或策略。m:[不]允许修改主体或策略。c:[不]允许更改主体的口令。i:[不]允许查询 Kerberos 数据库。l:[不]允许列出 Kerberos 数据库中的主体或策略。x 或 *:允许所有权限。
- target_principal:目标 principal,目标 principal 的每个部分都可以使用 *。【可选】
- restrictions:针对权限的一些补充限制,如:限制创建的 principal 的票据最长时效。【可选】
【示例】
kadm5.acl 文件中的以下项授予 HADOOP.COM 领域中包含 admin 实例的任何主体对 Kerberos 数据库的所有权限:
*/admin@HADOOP.COM *
kadm5.acl 文件中的以下项授予 test@EXAMPLE.COM 主体添加、列出和查询包含 root 实例的任何主体的权限。
test@EXAMPLE.COM ali */root@EXAMPLE.COM
kadm5.acl 文件中的以下项不授予 test@EXAMPLE.COM 主体添加、列出和查询包含 root 实例的任何主体的权限。
test@EXAMPLE.COM ALI */root@EXAMPLE.COM
详细说明可参考官网文档:https://web.mit.edu/kerberos/krb5-latest/doc/admin/conf_files/kadm5_acl.html
5、初始化KDC数据库
$ kdb5_util create -r HADOOP.COM -s
$ ll -a /var/kerberos/krb5kdc/
- -s:表示生成 stash file,并在其中存储 master server key(krb5kdc)
- -r:指定 realm name
kerberos数据库创建完之后,默认会创建以下5个文件(kdc.conf、kadm5.acl除外的其他几个),Kerberos 数据库的目录为:/var/kerberos/krb5kdc,如果需要重建数据库,可删除这五个文件重新执行上面的命令创建。
$ rm /var/kerberos/krb5kdc/.k5.HADOOP.COM /var/kerberos/krb5kdc/principal* -f
6、启停 Kerberos 服务
启动:
$ systemctl start krb5kdc kadmin
# 查看服务状态
$ systemctl status krb5kdc kadmin
停止:
$ systemctl stop krb5kdc kadmin
7、kadmin.local
Kerberos 服务机器上可以使用 kadmin.local 来执行各种管理的操作。进入 kadmin.local,不需要输入密码:
$ kadmin.local
常用操作:
操作 | 描述 | 示例 |
add_principal, addprinc, ank | 增加 principal | add_principal -randkey test@HADOOP.COM |
cpw | 修改密码 | cpw test@HADOOP.COM |
delete_principal, delprinc | 删除 principal | delete_principal test@HADOOP.COM |
modify_principal, modprinc | 修改 principal | modify_principal test@HADOOP.COM |
rename_principal, renprinc | 重命名 principal | rename_principal test@HADOOP.COM test2@ABC.COM |
get_principal, getprinc | 获取 principal | get_principal test@HADOOP.COM |
list_principals, listprincs, get_principals, getprincs | 显示所有 principal | listprincs |
ktadd, xst | 导出条目到 keytab | xst -k /root/test.keytab test@HADOOP.COM |
? | 查看帮助 | ? |
【温馨提示】-randkey是密码是随机的,-nokey密码不随机【默认】,得手动输入密码。
【示例】
addprinc -randkey hdfs/admin
addprinc -pw 123456 hdfs/admin
addprinc hdfs/admin
输入密码:123456
2)Kerberos Client 安装
在hadoop-node2和hadoop-node3节点上安装client
- krb5-workstation: 包含一些基本Kerberos程序,比如(kinit, klist, kdestroy,kpasswd),使用Kerberos的所有节点都应该部署。
- krb5-devel:包含编译Kerberos程序的头文件和一些类库。
$ yum install krb5-devel krb5-workstation -y
配置 krb5.conf
【温馨提示】/etc/krb5.conf : 客户端根据该文件中的信息取访问KDC
# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/
#Kerberos守护进程的日志记录方式。换句话说,表示 server 端的日志的打印位置。
[logging]
#默认的krb5libs.log日志文件存放路径
default = FILE:/var/log/krb5libs.log
#默认的krb5kdc.log日志文件存放路径
kdc = FILE:/var/log/krb5kdc.log
#默认的kadmind.log日志文件存放路径
admin_server = FILE:/var/log/kadmind.log
#Kerberos使用的默认值,当进行身份验证而未指定Kerberos域时,则使用default_realm参数指定的Kerberos域。即每种连接的默认配置,需要注意以下几个关键的配置:
[libdefaults]
#DNS查找域名,我们可以理解为DNS的正向解析,该功能我没有去验证过,默认禁用。(我猜测该功能和domain_realm配置有关)
dns_lookup_realm = false
# 凭证生效的时限,设置为24h。
ticket_lifetime = 24h
# 凭证最长可以被延期的时限,一般为7天。当凭证过期之后,对安全认证的服务的后续访问则会失败。
renew_lifetime = 7d
# 如果此参数被设置为true,则可以转发票据,这意味着如果具有TGT的用户登陆到远程系统,则KDC可以颁发新的TGT,而不需要用户再次进行身份验证。
forwardable = true
# 我理解是和dns_lookup_realm相反,即反向解析技术,该功能我也没有去验证过,默认禁用即可。
rdns = false
# 在KDC中配置pkinit的位置,该参数的具体功能我没有做进一步验证。
pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
#设置 Kerberos 应用程序的默认领域。如果您有多个领域,只需向 [realms] 节添加其他的语句。其中默认EXAMPLE.COM可以为任意名字,推荐为大写,这里我改成了HADOOP.COM。必须跟要配置的realm的名称一致。
default_realm = HADOOP.COM
# 顾名思义,默认的缓存名称,不推荐使用该参数。
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
HADOOP.COM = {
# kdc服务器地址。格式 [主机名或域名]:端口, 默认端口是88,默认端口可不写
kdc = server.kerberos.com:88
# # admin服务地址 格式 [主机名或域名]:端口, 默认端口749,默认端口可不写
admin_server = server.kerberos.com:749
# 代表默认的域名,设置Server主机所对应的域名
default_domain = kerberos.com
}
#指定DNS域名和Kerberos域名之间映射关系。指定服务器的FQDN,对应的domain_realm值决定了主机所属的域。
[domain_realm]
.kerberos.com = HADOOP.COM
kerberos.com = HADOOP.COM
测试验证连接server
# 默认用户是root/admin@HADOOP.COM,发现在数据库里没有这个用户,可以先在server端创建该用户:add_principal root/admin@HADOOP.COM
$ kadmin
输入密码:123456
指定用户
$ kadmin -p test@HADOOP.COM
3)基本命令操作
1、kadmin(数据库管理)
Kerberos 客户端机器上可以使用 kadmin 来执行各种管理的操作,服务端可以使用kadmin和kadmin.local命令。需先在 Kerbers Server 上创建登录的 principal,默认为 {当前用户}/admin@realm。
管理KDC数据库有两种方式:
- 一种直接在KDC(server端)直接执行,可以不需要输入密码就可以登录【命令:kadmin.local】
- 一种则是客户端命令,需要输入密码【命令:kadmin】,在server端和client端都可以使用。
创建用户,注意自己设置的密码
# 交互式
$ kadmin.local
add_principal root/admin
# 非交互式
$ kadmin.local -q "add_principal root/admin"
2、kinit(在客户端认证用户)
$ kinit root/admin@HADOOP.COM
# 查看当前的认证用户
$ klist
3、导出keytab认证文件
使用xst命令或者ktadd命令:
# 非交互式
$ kadmin.local -q "ktadd -norandkey -k /root/root.keytab root/admin"
# 交互式
$ kadmin.local
ktadd -norandkey -k /root/root.keytab root/admin
或xst -k /root/v.keytab root/admin
或xst -norandkey -k /root/root.keytab root/admin
其中 /root/root.keytab为自己指定的路径与文件名,以.keytab结尾;root/admin为之前创建的凭证用户
查看密钥文件
$ klist -kt /root/root.keytab
4、kdestroy(删除当前的认证缓存)
$ kdestroy
5、用户认证(登录)
基于密码认证
$ klist
$ kinit root/admin
输入密码:123456
$ klist
基于密钥认证(keytab)
# 删除当前用户认证
$ kdestroy
# 拿到上面生成的keytab文件
$ klist
$ kinit -kt /root/root.keytab root/admin
$ klist
常见的基础操作就到这里了,更多操作命令,可以查看官方文档和查看帮助。后续会分享kerberos认证实战文章,请小伙伴耐心等待~
- 上一篇:DOS下相关命令
- 下一篇:阿里云国际站:如何测试服务器真实带宽?
相关推荐
- python获取阿里云云解析dns的域名解析记录
-
最近由于工作原因接触到阿里云的服务,我需要实时获取所有的域名信息,用于对其进行扫描,因此写了一个自动化爬取脚本给需要的人分享。(阿里云有官方的demo,有兴趣的可以自己看一下,后面也会放链接,我只能...
- 前端性能优化系列——DNS预解析和优化
-
简单来说,DNS的作用是将域名解析为IP地址,解析的过程是耗时的,转化后会做本地缓存,我们的优化的目标主要是针对用户第一次访问站点的时候陷入长时间白屏的问题。DNS解析可以分为两类,第一类是页...
- dns错误修复方法
-
最近用户反馈在同一网络的其他电脑可以正常上网,但自己的电脑却提示页面找不到且无法解析服务器的dns地址,接下来给大家带来dns错误修复方法。 1、点击网络图标,选择打开网络共享中心,如图所示: ...
- 技术分享 | 浅谈DNS递归解析和迭代解析之间的区别
-
DNS解析是互联网中的重要环节,承担着将域名翻译为可由计算机直接读取的IP地址的基础功能。根据查询对象不同DNS解析可分为递归解析和迭代解析两种方式,接下来,中科三方将简单介绍下两种查询方式的流程以及...
- 一文读懂DNS解析故障常见情况(中科三方)
-
DNS解析将人们习惯使用的域名翻译成计算机识别的IP地址,是确保人们正常访问网站的重要功能。而在实际域名管理过程中,经常会因为种种原因导致DNS解析故障。DNS解析故障主要表现在人们通过IP地址可以直...
- DNS分离解析实验
-
如果本文对你有帮助,欢迎关注、点赞、收藏、转发给朋友,让我有持续创作的动力目录一、分离解析概述二、实验需求三、实验步骤3.1双网卡服务器配置3.1.1添加两张网卡(内外网)3.1.2对两个网卡进...
- #净网2019# 浏览网页被“劫持”,有问题!
-
明明自己没有设置过,打开网页浏览器却直接到了一个陌生网站,想改回原来的主页设置颇费周折、甚至无能为力。很多网民有过类似经历:在安装了一些软件后,自己的浏览器主页就被修改和锁定。本来打算访问A网站却被强...
- 解决浏览器劫持,360和腾讯安全不敌火绒专杀
-
上午win7莫名其妙显示未激活,并要求当日必须激活,没办法,上网找激活工具,先试了“小马”没起作用,又下载了“WIN7ActivationV2.3绿色版”,就是这个:激活是激活了,顺便给我安了一堆垃...
- 【净网2019】 浏览网页被“劫持”,有问题!
-
明明自己没有设置过,打开网页浏览器却直接到了一个陌生网站,想改回原来的主页设置颇费周折、甚至无能为力。很多网民有过类似经历:在安装了一些软件后,自己的浏览器主页就被修改和锁定。本来打算访问A网站却被...
- 浏览器打开网页被绑架?这里有办法
-
最近小A遇到了一个小问题:在240g上网冲浪的时候,搜索到的网页,点进去却“李逵变李鬼”???在使用浏览器时,点击搜寻结果却导向与搜寻内容不符合的网站,表示您的浏览器可能已遭受恶意软件劫持。例如您在搜...
- 处理浏览器主页被劫持的最新方法
-
给大家说个处理浏览器主页被劫持的最新方法:刚遇件让人哭笑不得的事,这两天发现浏览器的主页打开后不是自己原来设置的,而是hao123,一百度,好家伙,原来这个流氓许多人都遇到过,照着大家分享的方法一一尝...
- 软件性能测试详解
-
性能测试的基本概念性能测试是一种非功能性测试,通过自动化工具模拟多种负载条件(正常、峰值、异常),对系统的各项性能指标进行测试和评估,以验证其是否满足预期的性能需求。以下是核心概念的详细解析:一、性能...
- 国内粉色图标视频网站偷用带宽风波,WebRTC Control 插件来救场
-
最近,B站陷入了一场舆论风波,被指偷偷使用用户上传带宽。有网友在浙江大学论坛投稿称,B崭新版App疑似未经许可大量上传数据致网络卡顿,查看路由器统计信息后,发现B站手机客户端开启大量端口,...
- 服务器知识
-
问:机架式和非机架式是什么意思?服务器中“U”是什么单位?答:机架式、非机架式指的是服务器的类型。机架式是指可以直接插入机柜的标准服务器。非机架式是其他类型的服务器。譬如说我们普通的pc机的主机。大小...
- Vue3 性能拉胯?5 个实战技巧让项目响应速度飙升 60%!
-
作为前端工程师,在开发Vue3项目时,你是否经常遇到页面卡顿、数据更新缓慢,导致用户体验直线下降的情况?看着自己精心搭建的应用,因为性能问题被吐槽,真是既无奈又焦虑。别担心,今天就分享5个超级...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)