今天早上 Logrotate 向我抱怨它不会轮换某些日志,因为它们的父目录可由 root 以外的其他人写入。手册页指出,我可以通过添加“su”指令来消除错误消息,该指令使 logrotate 在旋转特定日志文件时放弃 root 权限。到目前为止,一切都很好。
我想知道的是(手册页对此没有提及),如果不采取这种预防措施,恶意用户如何利用 logrotate?只要 logrotate 的配置只能由 root 更改(好吧,logrotate 的配置由 cron 触发并以 root 身份运行),攻击者就无法使 logrotate 接触任意文件,我会假设 logrotate 不会接触符号链接?
我需要更换运行繁忙网站的老化网络服务器。我已经启动并运行了新硬件,所有软件都已安装。我正在寻找解决方案的地方只剩下一个问题:
当我在 DNS 中更改域的 A 记录时,由于 DNS 缓存,更改需要一段时间才能通过 Internet 传播。在此期间,有的用户会打新服务器,有的会打旧服务器,导致数据不一致,因为现在有两个数据库。我怎样才能立即切换所有人?我不运行 DNS 服务器,只能更改 A 和 CNAME 记录,但如果有帮助,我可以设置自己的。
夜间搬家时,我可能会有一两个小时的停机时间。
谢谢,西蒙
编辑:感谢您的所有回答。我接受 SmallClanger 的答案,因为它是一个可行的解决方案,我赞成 Brian,因为他的回答给了我一个新想法:按照 SmallClanger 的解决方案进行数据库迁移,然后用代理所有请求的 HTTP 代理替换旧的 apache到新服务器。我将代理配置为通过 IP 地址寻址新服务器,并且它不涉及临时子域,该子域可能(尽管有 302 代码)最终出现在某个书签目录、社交网络或浏览器缓存中。