小编Mad*_*ter的帖子

使用 Autoscale 在 CloudFormation 中引导

我的 CloudFormation 模板创建了一个自动缩放组并使用实用程序脚本 /opt/aws/bin/cfn-init 对其进行引导。当我从模板中删除引导程序部分时,自动缩放创建没有任何问题,但我添加它 CloudFormation 堆栈失败并在 /var/log/cloud-init.log 中添加行:

Error: AutoScalingGroupName does not specify any metadata
Run Code Online (Sandbox Code Playgroud)

上面的行紧跟在以下命令之后:

/opt/aws/bin/cfn-init --verbose --configsets orderedConfig --region us-east-1 --stack AS15 --resource AutoScalingGroupName --access-key XXXXXXXXXXXXX --secret-key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

深入挖掘一点,在 cfn-init 中,我在退出点添加了以下几行:

from pprint import pprint
pprint(vars(detail))
Run Code Online (Sandbox Code Playgroud)

在运行之前的 cfn-init 命令时,我得到以下跟踪:

{'_description': None,
 '_lastUpdated': datetime.datetime(2012, 7, 12, 14, 52, 42),
 '_logicalResourceId': u'AutoScalingGroupName',
 '_metadata': None,
 '_physicalResourceId': u'AS15-AutoScalingGroupName-HNPOXXXXXXXX',
 '_resourceStatus': u'CREATE_COMPLETE',
 '_resourceStatusReason': None,
 '_resourceType': u'AWS::AutoScaling::AutoScalingGroup',
 '_stackId': u'arn:aws:cloudformation:us-east-1:XXXXXXXXXXXXX:stack/AS15/XXXXXXXX-cc30-11e1-XXXXXX-XXXXXXXXXX',
 '_stackName': u'AS15'}
Run Code Online (Sandbox Code Playgroud)

如您所见,元数据字段为空,这就是它无法创建堆栈的原因。与 autoscale 一起使用时, cfn-init 是否有任何已知的副作用?

amazon-web-services autoscaling amazon-cloudformation

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

BIND - 由于错误而未加载区域

从 Ubuntu 8.04 升级到 10.04 后,我的 DNS 不再正常工作。

当我运行 named-checkzone example.com /var/cache/bind/example.com.zone.db 时,我不断收到此错误

zone example.com/IN: NS 'mx002a.example.com' has no address records (A or AAAA)
zone example.com/IN: not loaded due to errors.
Run Code Online (Sandbox Code Playgroud)

在/var/cached/bind/example.com.db

$TTL 3D
@       IN      SOA     mx002a.example.com. chantra.example.com. (
                        200608081       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
;
;
mx002a.example.com IN A 192.168.85.19
example.com. IN NS mx002a.example.com.
mx001           60 IN A …
Run Code Online (Sandbox Code Playgroud)

bind

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

如何从 Vixie-cron (debian) 和 msmtp 自定义电子邮件标头?

我在使用 cron 发送电子邮件时遇到了一些麻烦。我的 ISP 要求“发件人:”字段与发送电子邮件的电子邮件地址相匹配,否则电子邮件将被拒绝。由于 cron 将“发件人:”字段硬编码为“root(Cron Daemon)”,因此不会发送这些电子邮件。

我已经设置了 msmtp 并且可以从命令行毫无问题地发送电子邮件。事实上,我已经将我的一些 cron 作业包装在一个发送电子邮件本身的脚本中。这工作正常,但我想要一个更优雅的解决方案。

我最初使用的是包msmtp-mta,它只是符号链接/usr/lib/sendmail/usr/bin/msmtp以便 cron 使用 msmtp 发送电子邮件。由于这不起作用,我删除了该包并放入了一个 bash 脚本,/usr/lib/sendmail该脚本应该只从标准输入中读取并发送带有正确标题的电子邮件:

#!/bin/bash

HEADERS="To: <myemail>
From: Cron <myotheremail>
Subject: Vixie-cron snooper ($@)

"

INPUT=$( cat /dev/stdin )

echo -e "$HEADERS""Stdin:\n$INPUT\n" | msmtp <myemail>
echo "$HEADERS""Stdin:\n$INPUT\n" > /tmp/vixielog
Run Code Online (Sandbox Code Playgroud)

然而,这并没有达到预期的效果。我刚刚收到一封几乎是空的电子邮件,/tmp/vixielog内容相同:

To: <myemail>
From: Cron <myotheremail>
Subject: Vixie-cron snooper (-i -FCronDaemon -oem <myemail>)

Stdin:
Run Code Online (Sandbox Code Playgroud)

电子邮件来得正是时候,所以我知道 cron 作业正在正常运行,但我没有得到输出。我如何调整这种方法以在电子邮件中获取命令的输出?

email cron

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

如何损坏 ext3 分区,使其在启动时通过 fsck 自动修复?

我正在寻找一种方法来安全地破坏 ext3 分区,以便下次启动时可以通过 fsck 恢复它,以进行测试。谢谢!

linux ext3 fsck

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

如何在 apache 2.4.6 上安装 apxs 模块

我刚刚用过apt-get update,我的 apache 已经更新到2.4.6.

我想安装 apxs 来编译模块,但出现此错误

The following packages have unmet dependencies:
 apache2-prefork-dev : Depends: apache2.2-common (= 2.2.22-1ubuntu1.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

ubuntu apache-2.2

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

如何禁止外部访问 127.0.0.1?

我在 127.0.0.1:9000 上使用 tcp 套接字将 nginx 连接到 php5-cgi。但是我想确保不能对这个 IP 发出外部请求,这样攻击者就不能混淆 IP 并绕过 nginx 用 php 做讨厌的事情。

现在我想知道是否真的可以进行这种利用,如果可以,我该如何使用 iptables 来避免它?

networking linux nginx iptables

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

iptables 记录已建立的连接

我的 iptables 中有一条记录拒绝连接的规则,即-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

我想要一个类似的规则来记录所有已建立的连接,即与所有端口的非拒绝连接。我该怎么做,我尝试搜索谷歌并进行实验,但找不到匹配的字符串

firewall iptables

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

是否可以使用错误配置的 sshd 配置文件登录到远程计算机?

所以基本上我愚蠢到在我的 sshd 配置文件上写了可能不正确的选项。我没有重新启动服务并检查新配置是否有效,而是重新启动机器,自动将我注销(我知道......)。现在,当我尝试通过 ssh 连接到这台机器时,连接被拒绝。我怀疑 ssh 服务器无法启动,或无法正常启动,因为配置不正确。我想知道是否有任何机会可以使用 ssh(或替代协议)远程使用这台机器,以便我可以解决问题。

了解如何防止不正确的选项(例如有关 chroot 特定用户的选项)使完整的 ssh 功能变得无用也会很有帮助。

ssh

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

LetsEncrypt:连接中出现未知的 SSL 协议错误

我有一个带有 LE 证书的主机,它在浏览器中运行良好,但我仍然无法使用curl, openssl, wget, POST(libwww-perl) 进行连接:

卷曲

# curl -v -3 https://example.com/
* Hostname was NOT found in DNS cache
*   Trying 123.123.123.123...
* Connected to example.com (123.123.123.123) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to example.com:443 
* Closing connection 0
Run Code Online (Sandbox Code Playgroud)

openssl

# openssl s_client -connect example.com:443
CONNECTED(00000003)
write:errno=104
---
no peer certificate …
Run Code Online (Sandbox Code Playgroud)

ssl openssl curl apache-2.4 lets-encrypt

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

如何确定我的系统时间有偏差?

在我的一些生产环境时间漂移,我在我的系统上安装了 ntp。

当我执行 ntpstat 命令时,我可以看到下面的输出。

synchronised to NTP server (169.254.169.123) at stratum 4
   time correct to within 20 ms
   polling server every 512 s
Run Code Online (Sandbox Code Playgroud)

但我无法理解这个输出。

就像如果我的 linux 时间漂移了 1 秒,那么我执行 ntpstat 命令该命令将执行什么操作。

是命令从 ntp 服务器同步时间并自动调整我的本地时间。

我如何确保我的 linux 时间不正确并且 ntp 更正了这一点。

ntp

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