我需要生成带有 SAN URI 的 TLS 证书,其中 URI 有一个片段(有一个哈希“#”)。但是当我尝试使用 openssl 生成证书时,该片段被删除。
# generate key and CSR for client certificate
openssl req -nodes -new -keyout me.key -out me.csr -subj "/O=Acme/CN=me"
# sign cert
openssl x509 -req -in me.csr -CA My-CA.crt -CAkey My-CA.key -set_serial 01 -out me.crt -extfile <(echo 'subjectAltName=URI:https://my.example/profile#me')
# verify result
openssl x509 -text -noout -in me.crt
# X509v3 extensions:
# X509v3 Subject Alternative Name:
# URI:https://my.example/profile
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方法来转义该值,但似乎没有任何效果符合预期。我认为转义可能适用于 Common Name 等字段,但不适用于 SAN 部分。
我对 openssl 替代品持开放态度。但如果我能看到一个概念验证证书,我可以用它来验证它是否有效,这将会很有帮助。
注意:这本质上是 WebID-TLS 的要求 ( https://www.w3.org/2005/Incubator/webid/spec/tls/#dfn-webid_certificate …
有类似/etc/hosts档案之类的SRV记录吗?我希望我的 Alpine Linux 服务器能够_xmpp-server._tcp SRV在本地找到记录的值。
阅读本文:在虚拟机中运行 NTP 服务器有哪些限制?(2010)
这是:https: //github.com/geerlingguy/ansible-role-ntp
我不确定我到底要安装什么。特别是当我在虚拟机内安装时。
我读到虚拟机可以从主机系统同步时钟......但我以前从未听说过这一点,并且不知道在哪里可以找到相应的配置。我个人的经验仅限于 VirtualBox。
如果我在虚拟机服务器上安装 NTP,比如说 Ubuntu 服务器,据我所知,我只是安装一个能够与外部 NTP 服务器同步的工具,以防止其时间漂移太远。
这就是正在发生的事情,还是正在发生更多的事情?我是否安装了一个 NTP 服务器,然后...没有人同步?因为所有虚拟机都只会安装它,并且不会将任何虚拟机配置为查看特定服务器。
如果我想要的只是:
我需要知道什么以及我需要做什么?
因为过去我只是在 VirtualBox/ Proxmox / VMware中运行的虚拟机上安装 NTP ,并且运行良好多年。我记得很多时候检查不同虚拟机上的时间,但从来没有遇到过在查看本地时钟时我在虚拟机上看到的内容没有意义的情况。
我想发送邮件到 Gmail 地址:
echo "This is the body of the email" | mail -s "This is the subject line" user@gmail.com
Run Code Online (Sandbox Code Playgroud)
这就是我在日志中看到的
connect to gmail-smtp-in.l.google.com[142.250.27.27]:25: Connection refused
connect to gmail-smtp-in.l.google.com[2a00:1450:4025:401::1a]:25: Network is unreachable
connect to alt1.gmail-smtp-in.l.google.com[2a00:1450:4025:c03::1a]:25: Network is unreachable
connect to alt1.gmail-smtp-in.l.google.com[142.251.9.27]:25: Connection refused
connect to alt2.gmail-smtp-in.l.google.com[142.250.150.27]:25: Connection refused
Apr 9 20:04:02 ubuntu postfix/smtp[157056]: 228717CAA0: to=<user@gmail.com>, relay=none, delay=0.22, delays=0.09/0.09/0.04/0, dsn=4.4.1, status=deferred (connect to alt2.gmail-smtp-in.l.google.com[142.250.150.27]:25: Connection refused)
Run Code Online (Sandbox Code Playgroud)
尝试使用 netcat 测试此目的地,结果是相同的:
ubuntu@ubuntu:~$ nc -zvn 142.251.9.27 25
nc: connect to 142.251.9.27 port 25 (tcp) …Run Code Online (Sandbox Code Playgroud) 我不喜欢在 example.com 和www.example.com上托管的想法
但我无法让我的 DNS 设置将www.example.com重定向到 example.com。所以我现在所拥有的是它们都可以工作并提供网页。如果我有:
A example.com 123.4.5.6
CNAME www.example.com example.com
Run Code Online (Sandbox Code Playgroud)
那不应该做重定向吗?我意识到使用 JavaScript 可以相当轻松地做到这一点。
我只是不喜欢在拥有www.example.com 的同时将所有开发/产品重点放在 example.com 上,而我不会密切关注它知道它是否有问题。例如,假设我不小心硬编码了一些 javascript 以查找“http://example.com”。好吧,该网站的“http://www.example.com”版本上不会有该内容。
在这里做什么是正确的?DNS 可以为我做重定向吗?我应该使用 Javascript 将www.example.com重定向到 example.com 吗?...不过 JavaScript 不会涵盖 API 调用。
我正在尝试在新的 Windows Server 2022 计算机上安装 WebDeploy(用于从远程 Visual Studio 发布 IIS 站点)。
我们过去使用 Web Platform Installer 来安装 WebDeploy,但该工具已于 2022 年 12 月 31 日停用。
我找到了 Web Deploy 版本 4.0 的 .msi 安装程序,但是在运行安装程序时,我被告知已经安装了较新的版本。我不相信是这样的——我找不到任何安装它的迹象。
我想我要问的是:当前安装 Web Deploy 的首选方式是什么?
感谢您的任何建议。
我的系统中有一个卷组,是用单个物理卷创建的。
我正在创建两个逻辑卷 - 一个大小为 100M,另一个大小为 512M。
在LV上创建的100M大小的文件不显示出生时间属性。512M尺寸的LV没有这个问题。
有什么线索可以解释为什么会这样吗?
物理卷和卷组:
# pvdisplay
--- Physical volume ---
PV Name /dev/sda4
VG Name VG_System
PV Size 400.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 102399
Free PE 38099
Allocated PE 64300
PV UUID Awnq0n-24v1-Z53P-MC09-3Fvv-dc0r-6QvAyX
# vgdisplay VG_System
--- Volume group ---
VG Name VG_System
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 25
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV …Run Code Online (Sandbox Code Playgroud) 这是一个非常奇怪的问题,关于使用 pgrep 搜索哪些 shell 进程正在运行与当前进程相同的脚本。
\n这是名为test.sh的测试脚本
\n#!/bin/bash\n\nfull_res=`pgrep -a -l -f \'test\\.sh\'`\n\nres=$(pgrep -a -l -f \'test\\.sh\' | cat)\n\necho "short result is $full_res"\n\necho "weird result is $res"\nRun Code Online (Sandbox Code Playgroud)\n输出为
\nsh test.sh &\n[1] 19992\n\xe2\x9e\x9c logs short result is 19992 sh test.sh\nweird result is 19992 sh test.sh\n19996 sh test.sh\n\n[1] + 19992 done sh test.sh\nRun Code Online (Sandbox Code Playgroud)\n我不知道这些声音从何19996 sh test.sh而来,尤其是在使用管道猫时。我相信这可能是 pgrep 实现的一个错误。
期待合理的解释
\n谢谢,
\n巴林
\nSSD进入只读模式,因此您需要将分区移动到工作SSD,但我遇到了LVM大小不同的事实:
#lvm pvscan
PV /dev/sdc3 VG pve lvm2 [<111.29 GiB / 13.87 GiB 可用]
PV /dev/sdb3 VG pve lvm2 [<118.74 GiB / 14.75 GiB 可用]
由于数量差异,将无法通过DD转账。
sudo dd if=/dev/sdb3 of=/dev/sdc3 status=进度
还有哪些其他方法呢?也许有可以从 BIOS 下克隆分区的软件?
UPD:两个 SSD 均通过 NVME-usb 适配器连接。我正在 iODD-2531 上使用 live linux。然后我通过 ssh 连接到系统。
从 128 GB 驱动器复制到 120 GB 驱动器。如果第一个驱动器没有写保护,我可以尝试减小分区的大小,然后使用 DD 进行复制。
更新:
我连接了一个 500GB 的驱动器进行测试,并开始使用 DD 进行复制。结果我得到一个错误:
ubuntu@ubuntu:~$ sudo dd if=/dev/sdd of=/dev/sdc status=progress
456839680 bytes (457 MB, 436 MiB) copied, 53 s, 8.6 MB/s
459821568 bytes (460 …Run Code Online (Sandbox Code Playgroud) 我们遇到的情况是,站点办公室拥有几台 Rocky Linux 8 服务器,并定期从客户端接收大量数据。数据到达各种外部 USB 硬盘驱动器和偶尔的 USB 记忆棒。这些驱动器可以具有各种文件系统,但最常见的是 NTFS 和 exFAT。
RL8 本身支持 NTFS,但不支持 exFAT。我们使用了 rpmfusion 中的 fusion-exfat 包。(https://github.com/relan/exfat)。
我希望我的用户(没有也不应该拥有 root 访问权限)能够顺利地安装它们。之前,我们使用过 pmount,但 pmount 与 exFAT 配合不佳。我认为这是因为它是 FUSE,而不是因为它是 exFAT。
有没有一种好的、安全的方法来实现这一目标?
编辑:pmount 似乎是 mount 的一个非常薄的包装,并且权限是通过可执行文件上的 setuid 位获得的。所以基本上它是一组有限的安装命令,而 exfat 不是其中之一。这里有一些讨论:https://bugs.debian.org/cgi-bin/bugreport.cgi ?bug=755434,这里有一个建议的补丁:launchpadlibrarian.net/229524614/pmount.exfat.patch