我设法使用 playbook 安装 Apache Mysql/Mariadb 和 PHP。我该如何mysql_secure_installation使用ansible?
我是 Ansible 的初学者。我想为 MySQL 服务器设置一个新密码并通过 playbook 完成所有安全问题。
在针对大型网络的一种小型缓解措施中,利用 cmd.exe 替换 Windows 修复中的 utilman.exe,然后更改用户密码,我正在编写一个基于 EventSentry 工具的小脚本,该脚本将检测 utilman.exe已更改,我可以为其附加一个操作。但此检测将在攻击者登录到本地计算机后进行。因此,我正在编写一个脚本来更改访问权限,并阻止删除和重命名 utilman.exe,并且我想为当前登录的用户添加密码更改,然后注销。
这是我到目前为止所拥有的:
@ECHO off
takeown /f c:\windows\system32\utilman.exe
icacls c:\windows\system32\utilman.exe /deny *S-1-1-0:(DE,WD,AD,RX)
net user [NeedToGetLogedUser] 123456
shutdown -L
Run Code Online (Sandbox Code Playgroud)
我附加的操作将在另一个用户(而不是实际登录的用户)下执行此脚本。因此,我需要获取登录到计算机的实际当前用户,而不是该脚本将在其下运行的用户。
我在想:
C:\Users\MyUser>query user
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
>MyUser console 1 Active none 7/9/2020 6:27 PM
Run Code Online (Sandbox Code Playgroud)
但我不知道如何解析结果,只是为了让“MyUser”单独(使用 findstr)与 net user 命令一起使用。
在例行更新我的 Debian 系统时,我从来没有花时间去选择我真正需要的固件包;基本上我已经安装了它们,并且始终是最新的。
我一直在想如何才能挑选出我真正需要的。我正在考虑使用系统中的每个设备(甚至是我很少使用的设备,例如蓝牙、以太网、相机、触摸板、多媒体键等),然后查看加载的固件列表。
有没有一种简单的方法可以找出当前加载的固件或自上次内核启动以来加载的固件?
TILdocker kill意思是“杀死”,意思是“让它死”,而不是 POSIX 意义上的“发送信号”。
我们有几个集装箱需要发送SIGHUP以重新加载配置,但这会导致它们忽略“始终”的重新启动策略,这不是我们想要的。
在不影响这些容器自动重启能力的情况下向这些容器发送信号的最佳方式是什么?
\n为了更清楚地展示我们所看到的问题,请看以下示例。
\n我们有一些容器的重启策略设置为始终
\n$ docker inspect cloudwatch-exporter | jq .[].HostConfig.RestartPolicy\n{\n "Name": "always",\n "MaximumRetryCount": 0\n}\nRun Code Online (Sandbox Code Playgroud)\n我们在某个时候重新加载配置docker kill:
$ docker kill --signal=SIGHUP cloudwatch-exporter\ncloudwatch-exporter\nRun Code Online (Sandbox Code Playgroud)\n一段时间后,发生了一些事情终止了该进程。为了模拟这一点,我将在容器内发送一个信号:
\n$ docker exec cloudwatch-exporter bash -c "kill 1"\nRun Code Online (Sandbox Code Playgroud)\n此时,容器已死亡并且不会重新启动:
\n$ docker ps -a | grep cloudwatch-exporter\nc7827204bba5 prom/cloudwatch-exporter:cloudwatch_exporter-0.8.0 "java -jar /cloudwat\xe2\x80\xa6" 20 hours ago Exited (143) 3 minutes ago cloudwatch-exporter\nRun Code Online (Sandbox Code Playgroud)\n我们有哪些替代方案可以使用docker kill …
使用 iptables,我可以将 INPUT 策略更改为iptables -P INPUT DROPdrop。有什么选择可以做同样的事情nft吗?
编辑/etc/nftables.conf当然可以,但这不是我想要的。
我是这个社区的新手,我正在开发我的物联网项目,其中我的微控制器作为服务器工作,获取数据并执行请求。我的客户端是终端设备(手机、平板电脑),我通过 SSH 连接。
如果我的互联网突然断开,问题就会出现 - ssh 会话中断,我必须再次使用以下命令重新配置它:
ssh -o TCPKeepAlive=yes -R 80:192.145.47.33:80 example@ssh.localhost.run
Run Code Online (Sandbox Code Playgroud)
以类似的方式,如果服务器(微控制器)的电源断开,那么我会遇到类似的情况。我希望该会话能够自动配置而无需手动干预。
使用 PHP7.3 FPM 和 Apache 2.4.25 我在启用 PHP FPM 状态页面时遇到问题。
什么工作:
# /etc/php/7.3/fpm/pool.d/www.conf
listen = /run/php/php7.3-fpm.sock
pm.status_path = /status-php
# /etc/apache2/sites-enabled/status.conf
<VirtualHost [::1]:80 127.0.0.1:80>
ServerName localhost
DocumentRoot /var/www
<Location /status-php>
SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但是,什么行不通正在取代/status-php以/status/php这两个文件(PHP和Apache的配置)。这会导致 404 和一个 Apache 错误说:
AH01071: Got error 'Primary script unknown'
这是什么原因?为什么子文件夹变体不起作用?
我正在尝试将 URI 记录与 HTTP https://en.wikipedia.org/wiki/URI_record一起使用
在 Cloudflare 上,我输入sub了Name,https://example.com/page/但Content如果我去https://sub.example.net它说curl: (6) Could not resolve host: sub.example.net
我有一个带有一个 Linux 工作节点的 EKS 集群,它可以在一个区域内的任何可用区中实例化。我需要使用持久存储卷,这样即使节点死亡,我的数据也不会丢失。值得一提的是,我说的是RabbitMQ数据。
我尝试过使用 EBS 卷,但它有一个硬限制,即它绑定到单个可用区。如果节点死亡,然后实例化到不同的可用区,则无法挂载 EBS 卷。
到目前为止我有以下想法:
将单个 EBS 卷附加到工作节点。当工作节点在不同的可用区中重新启动时,创建EBS 快照,并使用它在正确的可用区中创建新的 EBS 卷。新的节点实例将挂载新的 EBS 卷。
每个可用区都有一个工作节点,并有一个专用的 EBS 卷。RabbitMQ 可以自动跨 EBS 卷复制数据。这样就无需使用 EBS 快照,如解决方案 1 中建议的那样。
拥有一个可连接到所有可用区的多个节点的 EFS 卷。
此外,我发现这篇文章解释了解决我的问题的更复杂的方法:
我为 Kubernetes 1.10/1.11 推荐的另一个选项是控制卷的创建位置以及 pod 的调度位置:
- 要在预先确定的区域中创建卷,您可以为要使用的每个区域创建自定义 StorageClass 对象(请参阅https://kubernetes.io/docs/concepts/storage/storage-classes/#aws-ebs)。
- 要指定调度具有 PV 的 pod 的区域,您可以使用affinity 或 nodeSelector: https: //kubernetes.io/docs/concepts/configuration/assign-pod-node/
- 如果您使用集群自动缩放,请记住,您可能需要为每个可用区单独的自动缩放组(请参阅kubernetes/autoscaler#501)您还可以在此处阅读有关此内容的一些内容:kubernetes/kubernetes#34583
您能帮我比较这些方法吗?比如在可扩展性、成本效率、可维护性方面……或者也许你能想到更好的?
我对 Ansible 很陌生并且遇到了问题。我只想在满足条件时运行该模块,但如果条件失败,它应该使任务失败并向用户报告。目前我所做的,只会跳过它而不是失败。
下面是我的代码,我有要检查的条件,并且仅在 result.stdout == '有效' 时运行,但如果其'无效',我希望任务失败。目前,如果不满足条件,它只会跳过它。
---
- name: Check Value
become: yes
shell: /usr/bin/python3 check.py
args:
chdir: "mydir/scripts/"
register: result
tags: data_merge
- name: Merge Data
become: yes
when: result.stdout == 'valid'
local_action:
module: some_module
provider: "{{some_provider}}"
role_path: "{{role_path}}"
run_once: true
tags: data_merge
Run Code Online (Sandbox Code Playgroud) ansible ×2
amazon-ebs ×1
apache-2.4 ×1
automation ×1
batch ×1
docker ×1
findstr ×1
firewall ×1
firmware ×1
kubernetes ×1
lamp ×1
linux ×1
mysql ×1
networking ×1
nftables ×1
php-fpm ×1
rabbitmq ×1
signals ×1
ssh ×1
ssh-agent ×1
ssh-keygen ×1
ssh-keys ×1
ssh-tunnel ×1
windows ×1