小编max*_*zig的帖子

如何避免终端中的转义序列攻击?

阅读CVE-2009-4487 的细节(这是关于日志文件中转义序列的危险)我有点惊讶。

引用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

30
推荐指数
2
解决办法
7866
查看次数

如何在清零磁盘时忽略写入错误?

假设您想将故障硬盘归零。您想尽可能多地用零覆盖。您不想要的是:进程在第一个写入错误时中止。怎么做?

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)

dd hard-disk ddrescue

29
推荐指数
2
解决办法
2万
查看次数

输出两个文本文件的公共行(相似性)(diff 的反义词)?

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 是不够的,因为在这种情况下,行信息会丢失。

command-line shell diff

28
推荐指数
4
解决办法
4万
查看次数

内核模式设置与帧缓冲区?

使用 KMS,图形驱动程序被移动到内核中。由于帧缓冲区已经在内核中,我不希望这会影响帧缓冲区操作。然而,我读到 KMS 取代了 fb,增加了 fb,需要 fb,并且需要删除 fb 支持。有没有搞错?我正在寻找的答案是对 KMS 和帧缓冲区之间关系的解释。

我一直在使用 uvesafb 在 tty 上获得原始分辨率。我在这里的目的是了解这将如何在带有 KMS 的系统上工作。它也有助于涵盖诸如..使用 KMS 滚动速度更快吗?fbterm 和 fbida 等实用程序的工作方式相同吗?稳定性更好吗?

kernel terminal framebuffer kms

27
推荐指数
2
解决办法
9717
查看次数

如何限制标准输出的输出速度?

我正在运行 CentOS 5.7 并且我有一个备份实用程序,可以选择将其备份文件转储到stdout. 备份文件相当大(数 GB)。目标是一个 SSHFS 文件系统。为了确保我不会占用带宽并降低网络性能,我想限制将数据写入“磁盘”的速度。

如何限制stdout基于字节数的能力?例如,将进程的写入能力限制为大约 768Bps。

io hard-disk stdout

25
推荐指数
1
解决办法
2334
查看次数

Fedora 世界中是否有 PPA 服务等价物?

对于 Ubuntu,有这个方便的 PPA 服务可用,您可以在其中获得自己的包存储库。

你可以把开源许可下的源包放在那里,例如你的软件的开发快照。

(服务器负责创建正确的二进制包并使用存储库密钥对其进行签名。)

然后用户只需要用一个命令添加存储库地址,就可以通过 apt-get 安装软件包。

由于我正在研究 Fedora - 是否有类似的东西可用于 Fedora 软件包?

如果是,支持哪些架构/分发版本?有多少可用空间?

通过这样的服务(例如当前的 Fedora 版本和 RHEL)为多个 rpm 发行版发布包的方式是什么?

fedora rpm packaging

24
推荐指数
3
解决办法
2万
查看次数

在 RHEL 7 服务器上使用 avahi 的目的是什么?

使用 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 的用例。

rhel centos avahi ipv6

22
推荐指数
2
解决办法
5万
查看次数

`/etc/group-` 的目的是什么

在标准的 Linux 发行版(例如 Ubuntu)上,通常有/etc/groupand /etc/group-,其中第二个只能由 root 读取。

man group仅描述/etc/group.

因此我的问题是: 的目的是/etc/group-什么?

etc directory-structure group

21
推荐指数
1
解决办法
4124
查看次数

如何真正轻松地将所有标记的附件保存在 mutt 中?

您可以通过以下方式保存所有附件

  1. 通过点击标记所有附件 t
  2. ;
  3. s
  4. 选择目标目录并点击a(全部)

这有效,但有以下严重的副作用:您必须enter为 n 个附件点击 n 次。

这意味着即使目标目录中没有文件名冲突。

这也记录在Mutt FAQ 中

很不方便。

一些 mutt 用户似乎向munpack推荐管道消息(示例消息链接)。好主意 - 但如何让 Mutt 提示输入目标目录(作为munpack调用宏的一部分)?

我如何构建这样的宏?或者有没有更好的解决方案来解决这个问题?

mutt

21
推荐指数
1
解决办法
9697
查看次数

如何在 X 终端中配置双击行为?

在不同的 Unix/Linux 系统下,我观察到 X 终端应用程序(例如 xterm)中的不同双击行为。

有时双击会左右选择所有内容,直到下一个非字母字符(例如,它选择光标下的单词)。

有时直到下一个空白/eol 之前的所有内容都被选中(例如,光标下的完整路径被选中)。

我如何配置双击行为 - 比如 - 在 xterm 中(因为它在大多数系统上可用)?

目前,我发现对于大多数用例来说,第二种模式更方便。

xterm mouse

21
推荐指数
2
解决办法
2万
查看次数