使用 SDDC Manager 中的“密码管理”功能可以统一管理 VCF 环境中组件的用户密码,比如更新(Update)、轮换(Rotate)以及修复(Remediate)组件的密码等,您还可以创建密码轮换调度任务,以防止因遗忘或其他原因导致密码过期及组件中断,进而影响业务。

使用 SoS 实用程序可以检查 VCF 环境中组件的用户密码状态,比如最后一次修改日期、过期日期以及过期剩余时间等,如下所示。

vcf@vcf-mgmt01-sddc01 [ ~ ]$ sudo /opt/vmware/sddc-support/sos --password-health
[sudo] password for vcf
Welcome to Supportability and Serviceability(SoS) utility!
Performing SoS operation for vcf-mgmt01 domain components
Health Check : /var/log/vmware/vcf/sddc-support/healthcheck-2024-12-07-12-29-31-149728
Health Check log : /var/log/vmware/vcf/sddc-support/healthcheck-2024-12-07-12-29-31-149728/sos.log
NOTE : The Health check operation was invoked without --skip-known-host-check, additional identity checks will be included for Connectivity Health, Password Health and Certificate Health Checks because of security reasons. SDDC Manager : vcf-mgmt01-sddc01.mulab.local
+-------------------------+-----------+
| Stage | Status |
+-------------------------+-----------+
| Bringup | Completed |
| Management Domain State | Completed |
+-------------------------+-----------+
+--------------------+---------------+
| Component | Identity |
+--------------------+---------------+
| SDDC-Manager | 192.168.32.70 |
| Number of Servers | 4 |
+--------------------+---------------+
Password Expiry Status : GREEN
+-----+-----------------------------------------+---------------------------+-------------------+--------------+-----------------+-------+
| SL# | Component | User | Last Changed Date | Expiry Date | Expires in Days | State |
+-----+-----------------------------------------+---------------------------+-------------------+--------------+-----------------+-------+
| 1 | ESXI : vcf-mgmt01-esxi01.mulab.local | svc-vcf-vcf-mgmt01-esxi01 | Dec 02, 2024 | Never | Never | GREEN |
| | | root | Dec 02, 2024 | Never | Never | GREEN |
| 2 | ESXI : vcf-mgmt01-esxi02.mulab.local | svc-vcf-vcf-mgmt01-esxi02 | Dec 02, 2024 | Never | Never | GREEN |
| | | root | Dec 02, 2024 | Never | Never | GREEN |
| 3 | ESXI : vcf-mgmt01-esxi03.mulab.local | svc-vcf-vcf-mgmt01-esxi03 | Dec 02, 2024 | Never | Never | GREEN |
| | | root | Dec 02, 2024 | Never | Never | GREEN |
| 4 | ESXI : vcf-mgmt01-esxi04.mulab.local | svc-vcf-vcf-mgmt01-esxi04 | Dec 02, 2024 | Never | Never | GREEN |
| | | root | Dec 02, 2024 | Never | Never | GREEN |
| 5 | NSX : vcf-mgmt01-nsx01.mulab.local | admin | Dec 07, 2024 | Mar 07, 2025 | 90 days | GREEN |
| | | root | Dec 07, 2024 | Mar 07, 2025 | 90 days | GREEN |
| | | audit | Dec 07, 2024 | Mar 07, 2025 | 90 days | GREEN |
| 6 | SDDC : vcf-mgmt01-sddc01.mulab.local | vcf | Dec 07, 2024 | Dec 07, 2025 | 365 days | GREEN |
| | | root | Dec 07, 2024 | Mar 07, 2025 | 90 days | GREEN |
| | | backup | Dec 07, 2024 | Dec 07, 2025 | 365 days | GREEN |
| 7 | vCenter : vcf-mgmt01-vcsa01.mulab.local | root | Dec 07, 2024 | Mar 07, 2025 | 89 days | GREEN |
+-----+-----------------------------------------+---------------------------+-------------------+--------------+-----------------+-------+ Legend: GREEN - No attention required, health status is NORMAL
YELLOW - May require attention, health status is WARNING
RED - Requires immediate attention, health status is CRITICAL Health Check completed successfully for : [VCF-SUMMARY, PASSWORD-CHECK]
vcf@vcf-mgmt01-sddc01 [ ~ ]$

根据上面所输出的结果,能够很清楚的了解各个组件用户密码的状态,不过,你可能想知道我能不能重新调整一下这些组件的默认“密码策略”?比如密码过期、密码复杂度以及账户锁定等。答案是肯定的!首先,让我们参考《Information Security and Access of Identity and Access Management for VMware Cloud Foundation》产品文档,先来了解一下 VCF 环境中组件的默认密码策略。

一、密码过期策略

组件
级别 参数设置 默认 描述 备注
ESXi 主机 本地用户 Security.PasswordMaxDays 99999 (never) 设置多少天密码过期。 您可以使用 vSphere Client 或 Host Client 中的高级系统设置按主机管理密码过期策略。您可以修改每个 ESXi 主机上的配置设置,以优化设置并遵守组织的策略和法规标准。
vCenter Server
全局

Maximum (days)

90

设置最大多少天密码过期。

您可以按实例管理密码过期策略。您可以修改每个 vCenter Server 实例上的配置设置,以优化设置并遵守组织的策略和法规标准。

Minimum (days)

0

设置最小多少天密码过期。

Warning

7 设置密码过期前多少天警告。
本地用户

Password Expires

Yes

设置 root 密码是否过期。

Password validity

90

设置多少天密码过期。

Email for expiration warning

-

设置密码过期警告的电子邮件。

Warning (days)

7 设置密码过期前多少天警告。
Single Sign-On Maximum lifetime 90 设置多少天密码过期。 您可以管理每个内置身份提供程序域的 vCenter Single Sign-On 密码过期策略。密码过期策略仅适用于 vCenter Single Sign-On 内置身份提供程序域(例如 vsphere.local)中的用户帐户。该策略不适用于本地系统账户或域的默认管理员账户(例如,administrator@vsphere.local)。您可以修改 vCenter Single Sign-On 身份提供程序域的配置设置,以优化设置并遵守组织的策略和法规标准。
NSX + NSX Edge

本地用户

maxdays 90 设置最大多少天密码过期。 通过使用 NSX Local Manager 集群和 NSX Edge 节点上内置 NSX 帐户的 API,您可以按用户管理 NSX 密码过期策略。您可以修改每个 NSX Local Manager 集群和每个 NSX Edge 节点上的配置,以优化设置并遵守组织的策略和法规标准。
SDDC Manager 本地用户 maxdays 90

设置最大多少天密码过期。

(VMware Cloud Foundation 4.5 及更高版本)

您可以基于用户管理密码过期策略。您可以修改用户的配置,以优化设置并遵守组织的策略和法规标准。

365

设置最大多少天密码过期。

(VMware Cloud Foundation 4.4 及更高版本)

mindays 0 设置最小多少天密码过期。
warndays 7

设置密码过期前多少天警告。

二、密码复杂性策略

组件
级别 参数设置 默认 描述 备注
ESXi 主机
本地用户
Security.PasswordQualityControl

retry=3 min=disabled,disabled,disabled,7,7

密码设置或更新的重设次数,值为3表示设置密码时如果密码不符合上述要求的重试次数为3次。

字符类别和密码短语最小长度要求。不允许使用包含一种或两种类别字符的密码,也不允许使用密码短语,因为前三项已停用。使用三种和四种字符类别的密码需要 7 个字符。

密码开头的大写字母不算入使用的字符类别数。密码结尾的数字不算入使用的字符类别数。

您可以使用 vSphere Client 或 Host Client 中的高级系统设置按主机管理密码复杂性策略。您可以编辑和修改配置以优化设置并遵守组织的策略和法规标准。

Security.PasswordHistory 0 设置记住曾设置密码的历史次数,值为0表示不限制。
vCenter Server
本地用户 dcredit -1

设置密码应包含的数字字符(如0、1、2)数量,值为-1表示至少一个。

您可以通过按实例使用 /etc/pam.d/system-password 文件来管理本地用户密码复杂性策略。您可以修改每个 vCenter Server 实例上的配置设置,以优化设置并遵守组织的策略和法规标准。
ucredit -1

设置密码应包含的大写字母(如A、B、C)数量,值为-1表示至少一个。

lcredit -1

设置密码应包含的小写字母(如a、b、c)数量,值为-1表示至少一个。

ocredit -1

设置密码应包含的其他字符(如!、@、#)数量,值为-1表示至少一个。

minlen 6

设置密码应具有的最小字符数量,值为6表示至少具有六个字符。

difok 4

设置新密码与旧密码相比不同的字符数量,值为4表示至少具有四个字符不一样。

remember 5 设置记住曾设置密码的历史次数,值为5表示新密码不应该是之前设置的5次密码中的任何一个。
Single Sign-On

Restrict reuse

5 设置记住曾设置密码的历史次数,值为5表示新密码不应该是之前设置的5次密码中的任何一个。 您可以管理每个内置身份提供程序域的 vCenter Single Sign-On 密码过期策略。密码复杂性策略仅适用于 vCenter Single Sign-On 内置身份提供程序域(例如 vsphere.local)中的用户帐户。该策略不适用于本地系统账户或内置身份提供商的默认管理员账户(例如,administrator@vsphere.local)。

Maximum length

20

设置最大密码长度(字符数)。

Minimum length

8

设置最小密码长度(字符数)。

Special characters

1

设置特殊字符的最少数量。

Alphabetic characters

2

设置最少字母字符数。

Uppercase characters

1

设置最少大写字符数。

Lowercase characters

1

设置最少小写字符数。

Numeric characters

1

设置最小数字字符数。

Identical adjacent characters

1 设置相同相邻字符的最大数量。
NSX + NSX Edge
本地用户 dcredit -1

设置密码应包含的数字字符(如0、1、2)数量,值为-1表示至少一个。

您可以通过对 NSX Manager 集群和 NSX Edge 节点上的内置 NSX 帐户按节点使用 /etc/pam.d/common-password 文件来管理密码复杂性策略。您可以修改每个 NSX Manager 节点和每个 NSX Edge 节点上的配置,以优化设置并遵守组织的策略和法规标准。
ucredit -1

设置密码应包含的大写字母(如A、B、C)数量,值为-1表示至少一个。

lcredit -1

设置密码应包含的小写字母(如a、b、c)数量,值为-1表示至少一个。

ocredit -1

设置密码应包含的其他字符(如!、@、#)数量,值为-1表示至少一个。

minlen 15

设置密码应具有的最小字符数量,值为15表示至少具有十五个字符。

difok 0

设置新密码与旧密码相比不同的字符数量,值为0表示不限制。

retry 3 密码设置或更新的重设次数,值为3表示设置密码时如果密码不符合上述要求的重试次数为3次。
SDDC Manager 本地用户 dcredit -1

设置密码应包含的数字字符(如0、1、2)数量,值为-1表示至少一个。

您可以使用 /etc/pam.d/system-password 文件管理密码复杂性策略。您可以编辑和修改配置以优化设置并遵守组织的策略和法规标准。
ucredit -1

设置密码应包含的大写字母(如A、B、C)数量,值为-1表示至少一个。

lcredit -1

设置密码应包含的小写字母(如a、b、c)数量,值为-1表示至少一个。

ocredit -1

设置密码应包含的其他字符(如!、@、#)数量,值为-1表示至少一个。

minlen 8

设置密码应具有的最小字符数量,值为15表示至少具有十五个字符。

minclass 4

设置密码必须使用的最小字符类型数(例如,大写、小写、数字等)。

difok 4

设置新密码与旧密码相比不同的字符数量,值为4表示至少具有四个字符不一样。

retry 3

密码设置或更新的重设次数,值为3表示设置密码时如果密码不符合上述要求的重试次数为3次。

maxsequence 0

设置密码单个字符可以重复的最大次数,值为0表示不限制。

remember 5 设置记住曾设置密码的历史次数,值为5表示新密码不应该是之前设置的5次密码中的任何一个。

三、账户锁定策略

组件
级别 参数设置 默认 描述 备注
ESXi 主机

本地用户
Security.AccountLockFailures 5 设置帐户被锁定之前的最大身份验证失败次数。

SSH 和 API 支持 ESXi 帐户锁定。如果用户尝试使用 SSH 或 API 使用不正确的本地帐户凭据登录,则该帐户将被锁定。DCUI 和 ESXi Shell 不支持帐户锁定。

您可以使用 vSphere Client 或 Host Client 中的高级系统设置按主机管理帐户锁定策略。您可以编辑和修改配置以优化设置并遵守组织的策略和法规标准。

Security.AccountUnlockTime 900 设置帐户处于锁定状态的时间(以秒为单位)。
vCenter Server
本地用户 deny 3 设置帐户被锁定之前的最大身份验证失败次数。 您可以通过按实例使用 /etc/pam.d/system-auth 文件来管理本地用户帐户锁定策略。您可以修改每个 vCenter Server 实例上的配置设置,以优化设置并遵守组织的策略和法规标准。
unlock_time 900 设置帐户处于锁定状态的时间(以秒为单位)。
root_unlock_time 300 设置 root 帐户处于锁定状态的时间(以秒为单位)。
Single Sign-On Maximum number of failed login attempts 5 设置帐户被锁定之前的最大身份验证失败次数。 您可以按内置身份提供程序域管理 vCenter Single Sign-On 帐户锁定策略。您可以编辑和修改配置以优化设置并遵守组织的策略和法规标准。
Time interval between failures 180 设置登录失败的时间(以秒为单位),如 180 秒内连续失败了 5 次才将账户锁定。
Unlock time 900 设置 root 帐户处于锁定状态的时间(以秒为单位)。如果将其设置为 0,则管理员必须显式解锁帐户。
NSX + NSX Edge
本地用户(API) max-auth-failures 5

设置帐户被锁定之前的最大身份验证失败次数。

您可以使用身份验证策略,可以按 NSX Local Manager 集群的实例和 NSX Edge 节点的节点实例管理账户锁定策略。您可以为 NSX Local Manager 集群和 NSX Edge 节点的 NSX Manager 用户界面和 API 以及命令行界面 (CLI) 配置帐户锁定策略。您可以修改每个 NSX Local Manager 集群和每个 NSX Edge 节点上的配置,以优化设置并遵守组织的策略和法规标准。
lockout-reset-period 180

设置登录失败的时间(以秒为单位),如 180 秒内连续失败了 5 次才将账户锁定。

lockout-period 900

设置帐户处于锁定状态的时间(以秒为单位)。

本地用户(CLI) max-auth-failures 5

设置帐户被锁定之前的最大身份验证失败次数。

lockout-period 900 设置帐户处于锁定状态的时间(以秒为单位)。
SDDC Manager 本地用户 deny 3

设置帐户被锁定之前的最大身份验证失败次数。

您可以使用 /etc/pam.d/system-auth 文件管理帐户锁定策略。您可以编辑和修改配置以优化设置并遵守组织的策略和法规标准。
unlock_time 86400

设置帐户处于锁定状态的时间(以秒为单位)。

root_unlock_time 300 设置 root 帐户处于锁定状态的时间(以秒为单位)。

四、管理密码策略

了解了 VCF 环境中组件的密码策略后,因为合规性或者安全性等要求,可能想要管理这些 VCF 组件的密码策略,因此您可以参考这篇《VMware Cloud Foundation Operations Guide》产品文档中的以下内容,然后根据需要执行对应组件的密码策略管理。

根据上面所列出的操作文档可知,要管理这些密码策略可以使用多种方式,最原始的办法就是针对不同的组件的不同密码策略,手动从组件中去修改那些参数,然后逐一完成组件的密码策略调整过程。但是这种方式太过于繁琐了,对于有成百上千台主机的大型环境来说,文档中的另一种方式会更加方便,那就是使用“PowerShell”命令来配置。使用 PowerShell 来配置需要借助以下 PowerShell 模块:

参考文档,然后使用以下命令安装 VCF 密码管理模块。注意,安装使用这个模块之前,请参考这篇“使用 PowerVCF 连接和管理 VMware Cloud Foundation 环境。”文章准备这个模块所依赖的其他运行环境。

Install-Module -Name VMware.CloudFoundation.PasswordManagement -Scope CurrentUser
Get-Module -Name VMware.CloudFoundation.PasswordManagement -ListAvailable

查看模块所支持的命令选项。

Get-Command -Module VMware.CloudFoundation.PasswordManagement

验证环境是否满足运行 PowerShell 模块要求。

Test-VcfPasswordManagementPrereq

使用 PowerVCF 连接到 SDDC Manager。

Request-VCFToken -fqdn vcf-mgmt01-sddc01.mulab.local -username administrator@vsphere.local -password Vcf521@password

使用以下命令获取指定 VCF 版本所有组件的默认密码策略,或者直接将其输出为 JSON 文件。

Get-PasswordPolicyDefault -version '5.2.0.0'
Get-PasswordPolicyDefault -generateJson -jsonFile passwordPolicyConfig.json -version '5.2.0.0'

使用以下命令获取 VCF 环境中组件密码策略报告。

  • 所有工作负载域
Invoke-PasswordPolicyManager -sddcManagerFqdn vcf-mgmt01-sddc01.mulab.local -sddcManagerUser administrator@vsphere.local -sddcManagerPass Vcf521@password -sddcRootPass Vcf521@password -reportPath "D:\Reporting" -darkMode -allDomains
  • 指定工作负载域
Invoke-PasswordPolicyManager -sddcManagerFqdn vcf-mgmt01-sddc01.mulab.local -sddcManagerUser administrator@vsphere.local -sddcManagerPass Vcf521@password -sddcRootPass Vcf521@password -reportPath "D:\Reporting" -darkMode -workloadDomain vcf-mgmt01

使用以下命令获取 VCF 环境中组件密码轮换报告。

  • 所有工作负载域
Invoke-PasswordRotationManager  -sddcManagerFqdn vcf-mgmt01-sddc01.mulab.local -sddcManagerUser administrator@vsphere.local -sddcManagerPass Vcf521@password -sddcRootPass Vcf521@password -reportPath "D:\Reporting" -darkMode -allDomains
  • 指定工作负载域
Invoke-PasswordRotationManager -sddcManagerFqdn vcf-mgmt01-sddc01.mulab.local -sddcManagerUser administrator@vsphere.local -sddcManagerPass Vcf521@password -sddcRootPass Vcf521@password -reportPath "D:\Reporting" -darkMode -workloadDomain vcf-mgmt01

根据 JSON 文件以及报告文件,对 VCF 环境中的所有组件统一配置密码策略。

Start-PasswordPolicyConfig -sddcManagerFqdn vcf-mgmt01-sddc01.mulab.local -sddcManagerUser administrator@vsphere.local -sddcManagerPass Vcf521@password -sddcRootPass Vcf521@password -reportPath "D:\Reporting" -policyFile "passwordPolicyConfig.json"

检索指定 VCF 组件的本地用户的密码过期策略。

Request-LocalUserPasswordExpiration -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -product vcenterServer -vmName vcf-mgmt01-vcsa01 -guestUser root -guestPassword Vcf521@password -localUser "root"

更新指定 VCF 组件的本地用户密码过期期限(以天为单位)。

Update-LocalUserPasswordExpiration -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -vmName vcf-mgmt01-vcsa01 -guestUser root -guestPassword Vcf521@password -localUser "root","sshuser" -minDays 0 -maxDays 180 -warnDays 14

检索 SDDC Manager 组件的密码过期策略。

Request-SddcManagerPasswordExpiration -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password  -rootPass Vcf521@password

更新 SDDC Manager 组件的密码过期策略。

Update-SddcManagerPasswordExpiration -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password  -rootPass Vcf521@password -minDays 0 -maxDays 400 -warnDays 14

检索 ESXi 组件的密码复杂性策略。

Request-EsxiPasswordComplexity -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -cluster vcf-mgmt01-cluster01

更新 ESXi 组件的密码复杂性策略。

Update-EsxiPasswordComplexity -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -cluster vcf-mgmt01-cluster01 -policy "retry=5 min=disabled,disabled,disabled,8,8" -history 3

检索 ESXi 组件的账户锁定策略。

Request-EsxiAccountLockout -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -cluster vcf-mgmt01-cluster01

更新 ESXi 组件的账户锁定策略。

Update-EsxiAccountLockout -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -cluster vcf-mgmt01-cluster01 -failures 3 -unlockInterval 600

检索 SDDC Manager 管理的指定工作负载域的所有组件的密码轮换设置。

Request-PasswordRotationPolicy -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password

更新 SDDC Manager 管理的 vCenter Server 组件的密码轮换设置。

Update-PasswordRotationPolicy -server vcf-mgmt01-sddc01.mulab.local -user administrator@vsphere.local -pass Vcf521@password -domain vcf-mgmt01 -resource vcenterServer -resourceName vcf-mgmt01-vcsa01.mulab.local -credential SSH -credentialName root -autoRotate enabled -frequencyInDays 90

【VMware VCF】管理 VCF 环境中组件的密码策略。的更多相关文章

  1. ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据

    引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Zab协议.通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们 ...

  2. 【Zookeeper系列】ZooKeeper管理分布式环境中的数据(转)

    原文地址:https://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...

  3. ZooKeeper系列(5):管理分布式环境中的数据

    引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Zab协议.通信协议等相关知 识,理解起来比较抽象所以还需要借助一些应用场景,来帮我 ...

  4. ZooKeeper管理分布式环境中的数据

    Reference: http://www.cnblogs.com/wuxl360/p/5817549.html 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...

  5. 分布式服务框架 Zookeeper — 管理分布式环境中的数据

    本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Zab协议.通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解. ...

  6. ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据(转)

    转载来源:https://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...

  7. 在Windows Server 2019中配置多元密码策略

    长久以来,微软活动目录中的账户只能配置同一个密码策略.上到管理员账户,下到普通用户的密码策略都是一样的.而且密码策略只能在域级别配置生效.OU级别的密码策略只会对该OU中计算机的本地账户生效.通常认为 ...

  8. 分布式服务框架 Zookeeper -- 管理分布式环境中的数据

    转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html Zookeeper 分布式服务框架是 Apa ...

  9. 分布式服务框架 Zookeeper -- 管理分布式环境中的数据(转载)

    本文转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ Zookeeper 分布式服务框架是 Apache Had ...

  10. 分布式服务框架 Zookeeper -- 管理分布式环境中的数据--转载

    原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ Zookeeper 分布式服务框架是 Apache Hadoop ...

随机推荐

  1. Azure 入门系列 (第四篇 Key Vault)

    本系列 这个系列会介绍从 0 到 1 搭建一个 Web Application 的 Server. 间中还会带上一些真实开发常用的功能. 一共 6 篇 1. Virtual Machine (VM) ...

  2. ++i与i++在效率上的细微差别

    在一些特定的使用中, i++ 可能将原值用中间量存起来以待使用,下面看相关程序的汇编代码(使用 gcc ). i++ 源程序: #include <stdio.h> int main(){ ...

  3. C语言位域的内存布局

    本文将先粗略介绍大小端,和大小端的测试方法,最后介绍位域的内存布局. 1. 大小端 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小端模式,是指数据的高字节保存 ...

  4. fp16 的累加误差有多大

    本文地址:https://wanger-sjtu.github.io/fp16-err/ 最近在项目中需要实现fp16的数据类型做FFN的计算,算子实现的同学反馈误差与x86上得到的golden数据有 ...

  5. k8s StorageClass 存储类

    目录 一.概述 1.StorageClass 对象定义 2.StorageClass YAML 示例 二.StorageClass 字段 1.provisioner(存储制备器) 1.1.内置制备器 ...

  6. [34](CSP 集训)CSP-S 联训模拟 1

    A 几何 重复若干次 -> 不能重叠,因此考虑直接暴力 DP 设 \(f_{i,j,k}\) 表示主串匹配到第 \(i\) 位(将前 \(i\) 位分别归为两类),其中 \(x\) 在重复了若干 ...

  7. Kubernetes Pod原理(十六)

    一.Pod Kubernetes 最基本的调度单元 前面我们了解了 Kubernetes 的基本架构,以及如何使用资源清单在集群中部署一个应用.我们也了解到了 Pod 是 Kubernetes 集群中 ...

  8. 「模拟赛」多校 A 层联训 8

    \(22pts\),本来可以切掉前两个题的?! A. 传送 (teleport) 签到 12 pts,错的很唐!我把 Dij 用的 dis 数组直接赋值成了点到 1 号点之间的 x 距离和 y 距离的 ...

  9. SQLServer数据库事务级别

    EFCore自动创建的数据库在SQLSERVER时是READ_COMMITTED_SNAPSHOT,SQLSERVER创建数据库默认是READ_COMMITTED. 因此记录一下查看和修改的方法,以便 ...

  10. vue3 + typescript + element-plus 大文件上传

    大文件上传 思路:前端获取 file 文件对象使用 slice 方法截取切片,然后异步上传切片,再合并 技术栈 TypeScript Vue3 Element-plus Nodejs 客户端实现 创建 ...