我找不到在 systemd 中执行某些本地脚本(或非常本地的命令)的正确方法,我已经知道我不能为此类脚本创建服务(在 systemd 中的一个单元中)(或者我必须?)...
我发现的解决方法是创建 rc.local 并赋予它执行权限。
printf '#!/bin/bash \n\nexit 0' >/etc/rc.local
chmod +x /etc/rc.local
Run Code Online (Sandbox Code Playgroud)
例如,如果我得到一个由你配置的简单 rc.local 的旧服务器,我会知道你做了什么以及在发行版上升级或安装新东西会有多大伤害,因为 rc.local 受到外部尊重包,但另一方面,如果我安装一个服务器并创建一个或两个或三个 systemd 单元(甚至 sysvinit 服务),只是为了完成一个简单的任务,这有时会使您的生活变得更艰难,而我的单元远不止于此名称可能有一天会与发行版开发创建的新服务的名称发生冲突,并且可能在升级时安装,从而导致我的脚本出现问题!
我看到另外一个问题问哪里是rc.local中,答案是创造它,并给执行权限,我想我的问题是真的不是一个重复的,因为我不想知道它在哪里-相信我,我只是想要接受它过时,但我不能找到做这种事情的正确方法,我应该真正创造一个单元,只是这样一些简单的?
我正在尝试使用 openssl s_client 选项测试在 Web 浏览器中正常工作的服务器,使用 openssl 直接连接它返回 400 Bad Request:
openssl s_client -servername example.com -connect example.com:443 -tls1
(some information about the certificate)
GET / HTTP/1.1
(and the error occurs **immediately** - no time to include more headers like Host:)
Run Code Online (Sandbox Code Playgroud)
重要提示:我已经尝试放置 Host: 标头,问题是当我运行 GET 时,错误立即发生,让我没有机会包含更多标头。将 example.com 替换为我的主机...
我的 postfix 电子邮件服务器终于运行良好。
现在,我需要防止用户在客户端程序的标题中的“发件人”字段中伪造他们的电子邮件地址,因为用户可以使用它以其他用户的身份发送电子邮件,而没有经验的用户可能会认为这是真实的。
如果用户有经验,他可以检查电子邮件标题并知道发生了什么,但有没有办法阻止这种行为?
我正在寻找关闭机器的 POSIX 命令。
是否有 POSIX 可接受的方法来做到这一点?
我用来执行此操作的命令与 POSIX 不兼容(例如,关机、重启、暂停或关机)。
“私有 /tmp 就像一个好主意......它对我有用,更安全,所以让我们重新分发给世界上每一个自 1970 年以来希望 /tmp 是 /tmp 的 unix 人......”你做什么得到?爆炸、破坏和你的身体着火。
我试图在 Debian 9 上禁用私有 /tmp,所以我按照这个站点的说明操作:
https://www.maxoberberger.net/blog/2017/10/debian-9-private-tmp.html
这看起来很不错,但事实并非如此,它引起了一些心痛。
当我尝试通过在 上创建覆盖文件来禁用时/etc/systemd/system/apache2.service,systemd 似乎完全忽略了我。
我需要直接编辑文件:
/lib/systemd/system/apache2.service
Run Code Online (Sandbox Code Playgroud)
这是可行的,但如果您升级系统,这并不是一个好主意!今天unattended-upgrade跑了,因为private tmp什么都坏了;然后我需要再次重新禁用它。我们使用一个 Web 系统与另一个在控制台上运行的旧系统进行通信……它通过 tmp 进行通信。
我做错了什么?我应该重新启动服务器吗?
有没有办法防止rm删除挂载点?
例如,如果我在外部安装了 /mnt/backup 并且有人运行,rm -rf /我知道它会删除备份内容。
我的解决方案是在备份结束后卸载 /mnt/backup。
我发现此选项适用于慢速连接,因为它启用了压缩。但这究竟意味着什么?
此选项是否仅在传输期间压缩数据?
或者目标中的文件将被压缩?
例如,源中的文件将在源文件夹中临时压缩,从而导致数据库损坏?或者我可以安全地运行它来复制数据库文件吗?
Apache 2.4 似乎混合了所有:IP 拒绝和用户拒绝不再独立工作..
在旧版本中,我能够启用这两件事,并在不影响另一件事的情况下使用它,例如:
deny from all
allow from ip1
allow from ip2
Run Code Online (Sandbox Code Playgroud)
在 apache2.4 中相当于:
require ip1
require ip2
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。
但是,当您的网站中有 htacess+htpasswd 时,行为并不像您预期的那样,因为它认为所需的 ips 无需密码即可进入,对 htacess 进行分析,甚至最糟糕的是,由于htacess 尝试使用密码登录,这不是 apache 2.2 所做的!
在古老的 apache 中,允许来自的主机是唯一可以尝试进行身份验证的主机......即使它们被允许,它仍然需要来自 htaccess 的密码才能打开网站。
更新:
我现在可以使用 mod_acess_compat 解决该行为......但我认为这不是解决方案,因为我在 apache 2.4 上使用古老的命令......我担心一些意外行为或弃用这个模块...
重要提示: 如果我这样做,我能够恢复停止旧行为:
apt install sysvinit-core
Run Code Online (Sandbox Code Playgroud)
另外:旧的基于Red Hat的版本也可以在停止时关闭电源。
我试图理解为什么在 Debian 9 中你不应该再使用暂停来关闭你的计算机。该行为已从 systemd 中删除。我有点害怕,但我认为一定有一个很好的逻辑理由。
其他 Unix 或类 Unix 是否具有相同的行为,还是 Linux 正在变成不同的东西?
现在如果你想在系统关闭后关闭机器,你应该使用 poweroff 而不是halt...
有人知道这个命令在其他 Unix-Like 中是如何解释的吗?
这不是重复的,因为,例如,debian 7 可以通过暂停来关闭电源。