阅读CVE-2009-4487 的细节(这是关于日志文件中转义序列的危险)我有点惊讶。
nginx 0.7.64 将数据写入日志文件而不清理不可打印的字符,这可能允许远程攻击者通过包含终端模拟器转义序列的 HTTP 请求修改窗口的标题,或可能执行任意命令或覆盖文件。
显然,这实际上并不是 nginx 中的安全漏洞,而是终端模拟器中的安全漏洞。
当然,也许cat将日志文件写入终端只是偶然发生的,但是将日志文件写入grep是很常见的。less也许清理转义序列,但谁知道什么 shell 命令不会改变转义序列......
我倾向于同意Varnish 的回应:
终端响应转义的智慧通常定期受到质疑,但仍然没有一个主要的终端仿真程序认为适合丢弃这些序列,这可能是在与不再使用的 1970 年代技术兼容的误导尝试中。[..] 从安全的角度来看,让终端仿真程序停止做愚蠢的事情,从而解决这个和其他安全问题,而不是责怪任何和所有写入日志文件的程序,这将更有效率和所有人。
因此我的问题:
我如何保护我的 xterm,以便不再可能通过转义序列执行命令或覆盖文件?
X 的哪些终端模拟器可以抵御这种攻击?
security terminal-emulator xterm special-characters escape-characters
假设您想将故障硬盘归零。您想尽可能多地用零覆盖。您不想要的是:进程在第一个写入错误时中止。怎么做?
AFAICS,plaindd仅提供忽略读取错误的选项。因此,像
dd if=/dev/zero of=/dev/disk/by-id/lousy-vendor-123 bs=128k
Run Code Online (Sandbox Code Playgroud)
是不足够的。
ddrescue 似乎更擅长忽略错误 - 但它的最佳命令行是什么?
我对 GNU ddrescue 的尝试:
ddrescue --verbose --force --no-split /dev/zero /dev/disk/by-id/lousy-vendor-123
Run Code Online (Sandbox Code Playgroud) Diff 是一个很好的工具来显示两个文件之间的变化。但是如何显示两个文本文件的相似性(同时忽略差异)?
即样本输入:
a:
Foo Bar
X
Hello
World
42
b:
Foo Baz
Hello
World
23
Run Code Online (Sandbox Code Playgroud)
伪输出(类似这样):
@@ 2,3
=Hello World
Run Code Online (Sandbox Code Playgroud)
仅对两个文件进行排序并使用 comm 是不够的,因为在这种情况下,行信息会丢失。
使用 KMS,图形驱动程序被移动到内核中。由于帧缓冲区已经在内核中,我不希望这会影响帧缓冲区操作。然而,我读到 KMS 取代了 fb,增加了 fb,需要 fb,并且需要删除 fb 支持。有没有搞错?我正在寻找的答案是对 KMS 和帧缓冲区之间关系的解释。
我一直在使用 uvesafb 在 tty 上获得原始分辨率。我在这里的目的是了解这将如何在带有 KMS 的系统上工作。它也有助于涵盖诸如..使用 KMS 滚动速度更快吗?fbterm 和 fbida 等实用程序的工作方式相同吗?稳定性更好吗?
我正在运行 CentOS 5.7 并且我有一个备份实用程序,可以选择将其备份文件转储到stdout. 备份文件相当大(数 GB)。目标是一个 SSHFS 文件系统。为了确保我不会占用带宽并降低网络性能,我想限制将数据写入“磁盘”的速度。
如何限制stdout基于字节数的能力?例如,将进程的写入能力限制为大约 768Bps。
对于 Ubuntu,有这个方便的 PPA 服务可用,您可以在其中获得自己的包存储库。
你可以把开源许可下的源包放在那里,例如你的软件的开发快照。
(服务器负责创建正确的二进制包并使用存储库密钥对其进行签名。)
然后用户只需要用一个命令添加存储库地址,就可以通过 apt-get 安装软件包。
由于我正在研究 Fedora - 是否有类似的东西可用于 Fedora 软件包?
如果是,支持哪些架构/分发版本?有多少可用空间?
通过这样的服务(例如当前的 Fedora 版本和 RHEL)为多个 rpm 发行版发布包的方式是什么?
使用 CentOS 7 运行服务器机器,我注意到 avahi 服务默认运行。
我有点想知道它的目的是什么。
它似乎做的一件事(在我的环境中)是随机禁用 IPv6 连接,在日志中看起来像这样:
Oct 20 12:23:29 example.org
avahi-daemon[779]: Withdrawing address record for fd00::1:2:3:4 on eno1
Oct 20 12:23:30 example.org
Withdrawing address record for 2001:1:2:3:4:5:6:7
Oct 20 12:23:30 example.org
Registering new address record for fe80::1:2:3:4 on eno1.*.
Run Code Online (Sandbox Code Playgroud)
(后缀1:2:3...是编的)
事实上,在此之后,公共2001:1:2:3:4:5:6:7IPv6 地址将不再可访问。
因此,我通过以下方式禁用了 avahi 服务:
# systemctl disable avahi-daemon.socket avahi-daemon.service
# systemctl mask avahi-daemon.socket avahi-daemon.service
# systemctl stop avahi-daemon.socket avahi-daemon.service
Run Code Online (Sandbox Code Playgroud)
到目前为止,我还没有注意到任何限制。
因此,我的问题是关于服务器系统上 avahi 的用例。
在标准的 Linux 发行版(例如 Ubuntu)上,通常有/etc/groupand /etc/group-,其中第二个只能由 root 读取。
man group仅描述/etc/group.
因此我的问题是: 的目的是/etc/group-什么?
您可以通过以下方式保存所有附件
这有效,但有以下严重的副作用:您必须enter为 n 个附件点击 n 次。
这意味着即使目标目录中没有文件名冲突。
这也记录在Mutt FAQ 中。
很不方便。
一些 mutt 用户似乎向munpack推荐管道消息(示例消息链接)。好主意 - 但如何让 Mutt 提示输入目标目录(作为munpack调用宏的一部分)?
我如何构建这样的宏?或者有没有更好的解决方案来解决这个问题?
在不同的 Unix/Linux 系统下,我观察到 X 终端应用程序(例如 xterm)中的不同双击行为。
有时双击会左右选择所有内容,直到下一个非字母字符(例如,它选择光标下的单词)。
有时直到下一个空白/eol 之前的所有内容都被选中(例如,光标下的完整路径被选中)。
我如何配置双击行为 - 比如 - 在 xterm 中(因为它在大多数系统上可用)?
目前,我发现对于大多数用例来说,第二种模式更方便。