如何停止 cPanel 升级覆盖我的自定义 exim.conf 文件

Posted

技术标签:

【中文标题】如何停止 cPanel 升级覆盖我的自定义 exim.conf 文件【英文标题】:How to stop cPanel Upgrades over-writing my custom exim.conf file 【发布时间】:2015-06-25 07:42:30 【问题描述】:

我们的 exim.conf 文件仍然被 cpanel 更新覆盖

http://serversitters.com/cpanel-overwrites-config-files.html 建议将文件添加到 /etc/cpanelsync.exclude 我们试过这个,但它不起作用。文件仍在被覆盖。

forums.cpanel.net 上的旧帖子说您无法阻止它被覆盖,但我希望其他人已经提出了解决方案。

cpanel 建议“您应该能够使用 /scripts/prebuildeximconf 和 /scripts/postbuildeximconf 挂钩脚本来保存您对 exim.conf 所做的修改。”但我们没有这些文件。

我特别需要做的是添加primarydomain =“ourdomain.com”,每次更新都会删除。如何在 cpanel 更新后自动将其添加回文件中?

【问题讨论】:

我需要一个答案,所以请不要在没有说明问题存在原因的情况下投反对票 如果使用 cpanelsync.exclude 文件现在可以按预期工作,是否有任何更新? 更新:它似乎没有按预期工作。该文件继续被覆盖。文档确实说"you cannot use the cpanelsync.exclude file to prevent modifications to configuration files"。所以,也许这种方法是一个失败的原因。 【参考方案1】:

我建议您尝试使用文件属性选项。为您的 exim 配置文件设置属性,使其不会在 upcp 进程中更新。

【讨论】:

我设置为 600,但它归根用户所有,因此不会将其设为只读。如何使文件不可被 root 写入,但如果需要,将来可以编辑和删除文件?【参考方案2】:

根据 CPanel,您无法阻止它被更新。

【讨论】:

【参考方案3】:

您可以为文件添加属性。

使用以下命令更改文件 /etc/exim.conf 的属性

第 1 步 检查当前权限

root@server2 [~]# ls -lh /etc/exim.conf

-rw-r--r-- 1 root root 67K Jan 19 12:28 /etc//exim.conf

第 2 步 也可以使用 chmod 命令将权限修改为 root 只读

root@server2 [/etc]# chmod 444 exim.conf

第 3 步 检查修改

root@server2 [/etc]# ls -l exim.conf

-r--r--r-- 1 root root 68318 Jan 19 12:28 exim.conf

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++

现在使用属性,以便 c-panel 更新不会对 exim.conf 产生任何影响

第 4 步 root@server2 [/etc]# chattr +ia exim.conf

++++++++++++++++++++++++++++++++++++++++++++++++++

聊天 +i : 文件设置了“i”属性,不能修改(不可变)。意味着不重命名,不创建符号链接,不执行,不可写,只有超级用户可以取消设置属性。

聊天 +a : 文件设置了“i”属性,不能修改(不可变)。意味着不重命名,不创建符号链接,不执行,不可写,只有超级用户可以取消设置属性。

++++++++++++++++++++++++++++++++++++++++++++++++++

第 5 步 检查属性

root@server2 [/etc]# lsattr exim.conf

----ia-A-----e-exim.conf

第 6 步

当你想再次修改文件时,改变文件的属性。

root@server2 [/etc]# chattr -ia exim.conf 并将权限改回 644。 ++++++++++++++++++++++++++++++++++++++++++++++

这样就解决了C-Panel自动更新问题。

【讨论】:

以上是关于如何停止 cPanel 升级覆盖我的自定义 exim.conf 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何防止scaffold.css 覆盖我的自定义css?

如何从 Cpanel 中删除我的 NodeJs 应用程序?

UITableView 文本覆盖我的自定义部分标题?

使用选择性覆盖的Drupal视图的术语(而非分类)的自定义分类法页面

swagger codegen 在生成的文件中覆盖我的自定义代码

将我的 JSON 插入到集合中时,MongoDB 会覆盖我的自定义 id 属性吗?