小编Joh*_*nst的帖子

Linux容器中的循环设备?

我正在尝试在容器内使用循环设备来挂载一些图像文件:

> sudo losetup /dev/loop0 test.img
losetup: /dev/loop0: failed to set up loop device: No such file or directory
Run Code Online (Sandbox Code Playgroud)

/dev/loop0 确实不存在,并且

> sudo mknod /dev/loop0 b 7 0
mknod: ‘/dev/loop0’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这项工作?容器是否需要一些它可能没有的 cgroup 权限?

linux containers loop-device cgroup

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

我如何编写 mkfs 脚本询问“是整个设备,而不仅仅是一个分区!仍然继续?”

我正在尝试创建一个格式化 Amazon EC2 EBS 卷的脚本,以便我可以挂载它。

从命令行看,它看起来像这样:

> mkfs -q -t ext4 /dev/sdf
/dev/sdf is entire device, not just one partition!
Proceed anyway? (y,n) 
Run Code Online (Sandbox Code Playgroud)

(命令是正确的;不需要为我的目的创建分区表)

我的问题:因为这个命令应该在一个自动化脚本中运行,所以我不能在终端上问这个问题;没有人会接听,脚本将挂起。我如何避免这种情况?

我试过:

> echo y | mkfs -q -t ext4 /dev/sdf
Run Code Online (Sandbox Code Playgroud)

但这并不能解决问题。-q 选项也没有区别。

linux bash amazon-ec2

10
推荐指数
1
解决办法
3万
查看次数

Apache2 中的 *:80 和 _default_:80 有什么区别?

我试图理解以下两个术语之间的区别:

*:80
_default_:80
Run Code Online (Sandbox Code Playgroud)

在 Apache 配置文件中。我不清楚这里的文档,我在这里找到的唯一邮件列表对话也没有说明(对我来说是可以理解的)这件事。

我有一堆基于名称的虚拟主机,声明如下:

<VirtualHost *:80>
    ServerName example.com
    ...
Run Code Online (Sandbox Code Playgroud)

并且我希望有一个条目在这些都不匹配时触发,即当请求没有虚拟主机名或具有尚未声明的虚拟主机名时。我应该使用*:80还是_default_:80

virtualhost apache-2.2

8
推荐指数
1
解决办法
4427
查看次数

运行openvpn时tun接口的名称?

我有两个 OpenVPN 客户端设置,由 systemd 服务openvpn.fooopenvpn.bar. 它们连接到不同的 VPN,并且在任何时间点都可能处于活动状态,也可能不处于活动状态。

我想为他们设置不同的 iptables 防火墙规则。问题是第一个 OpenVPN 进程似乎抢占了接口tun0,无论结果是配置 foo 还是 bar。问题是我无法将 iptables 规则附加到接口,因为我目前不知道它是否与 VPN foo 或 bar 一起使用。

问题:

  • 有没有办法让 OpenVPN 始终为给定的配置发出相同的接口名称?我在配置文件中寻找一个选项,但找不到。persist-tun似乎不够,因为它似乎无法在重新启动后幸存。
  • 有没有办法在事后确定哪个接口与哪个配置匹配?
  • 鉴于我获得的 IP 地址也不完全可预测,我也无法将规则附加到这些地址上。有人能想出一个把它们贴在哪里的技巧吗?

谢谢!

iptables openvpn

7
推荐指数
1
解决办法
1万
查看次数

systemd“解冻”是什么意思?

systemctl status foo。我有 afoo.service和 a foo.timer

Active: activating (auto-restart) (thawing) since Fri 2020-10-09 21:32:56 UTC; 3min 1s ago
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到“解冻”这个词。这是 systemd 246.6。

systemd

6
推荐指数
1
解决办法
1万
查看次数

mysql 授权选项

我有一个当前具有以下权限的 mysql 用户:

mysql> show grants;
+--...--+
| Grants for debian sys-maint@localhost
+--...--+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD '*DA604C65D4EFF216D1F61FCD42726FA881FB6562' WITH GRANT OPTION |
+--...--+
Run Code Online (Sandbox Code Playgroud)

我希望它能够对另一个用户这样做:

mysql> grant all privileges on *.* to 'foo'@'%' identified by 'bar';
ERROR 1045 …
Run Code Online (Sandbox Code Playgroud)

mysql permissions

5
推荐指数
1
解决办法
2201
查看次数

poweroff.target、halt.target、reboot.target、shutdown.target 和其他一些有什么区别?

Systemd 定义了一系列与关闭系统相关的特殊目标,例如本文标题中列出的目标。似乎还有更多。

man systemd.special给出了它们的定义,但并不试图区分它们。

在什么情况下我应该使用这些目标中的哪一个?

systemd

5
推荐指数
1
解决办法
8105
查看次数

同一个域的多个 DNS 答案,例如 google.com——这是什么意思?

我注意到这dig google.com会产生四个不同的 IP 地址。这意味着什么?它可能是

  • 使用任何,都没有关系
  • 尝试第一个,如果没有响应,请尝试下一个(依此类推)
  • 或者 ...?

或者这只是应该是循环的?(如果是这样,为什么它会返回 4 个值,而不是 1 个?)

我有点希望这意味着浏览器会按顺序尝试所有四个,直到他们找到一个有效的。

这是我得到的dig google.com::

;; QUESTION SECTION:`
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     293 IN  A   74.125.19.99
google.com.     293 IN  A   74.125.19.103
google.com.     293 IN  A   74.125.19.104
google.com.     293 IN  A   74.125.19.147

;; AUTHORITY SECTION:
google.com.     81797   IN  NS  ns2.google.com.
google.com.     81797   IN  NS  ns4.google.com.
google.com.     81797   IN  NS  ns1.google.com.
google.com.     81797   IN  NS  ns3.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.     255049  IN  A   216.239.32.10 …
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind

4
推荐指数
1
解决办法
5627
查看次数

mountall 和 mount -a 有什么区别?(Ubuntu,也许是其他人)

mountall将手册页说:“这是一个临时的工具,直到的init(8)本身”可以做到这一点,基本上是这样。为什么不直接使用 mount -a?两者之间有区别吗,如果有,我应该使用哪个?

linux ubuntu filesystems mount fsck

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

如何记录 tls 加密的 smtp 流量?

我想知道我的本地 postfix 在 STARTTLS 之后对 Amazon SES smtpd 说了什么。纯文本,所以我可以理解。Amazon SES 需要 TLS,所以我暂时无法关闭它。

我目前用这个技巧记录流量的两条腿:

mkfifo proxypipe
cat proxypipe | nc -l 11111 | tee -a inflow | nc email-smtp.us-east-1.amazonaws.com smtp | tee -a outflow 1>proxypipe
Run Code Online (Sandbox Code Playgroud)

然后我与 localhost:11111 进行 postfix 对话,而不是 email-smtp.us-east-1.amazonaws.com:25。只要他们用明文交谈,这就会产生一个很好的成绩单。一旦 STARTTLS 出现,当然一切都会变得乱七八糟。

有什么技巧可以通过openssl或使用openssl或类似的东西进行后处理,以弄清楚他们彼此之间到底说了些什么?谷歌搜索没有产生任何答案。

ssl smtp netcat tls starttls

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