Products
GG网络技术分享 2025-03-18 16:12 0
在 Linux 系统上,其中一个最重要的需求就是保持定期更新最新的安全补丁,或者为相应的 Linux 版本更新可用的安全补丁。
-- Gabriel Cánepa
本文导航
-在 CentOS/RHEL 系统上配置自动安全更新16%
-在 CentOS/RHEL 7 系统上启用自动安全更新22%
-在 CentOS/RHEL 6 上启用自动安全更新44%
-总结77%
在之前的文章中,我们分享了如何在 Debian/Ubuntu 上配置自动安全更新[1],在这篇文章中,我们将分享如何在 CentOS/RHEL 7/6 版本中设置在需要时自动更新重要的安全补丁。
和它同一家族的其它 Linux 版本(Fedora 或 Scientific Linux)中可以用类似的方法进行配置。
在 CentOS/RHEL 系统上配置自动安全更新
在 CentOS/RHEL 7/6 系统上,你需要安装下面的安装包:
# yum update -y && yum install yum-cron -y
在 CentOS/RHEL 7 系统上启用自动安全更新
安装完成以后,打开 /etc/yum/yum-cron.conf
,然后找到下面这些行内容,你必须确保它们的值和下面展示的一样
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = yes
第一行表明自动更新命令行应该像这样:
# yum --security upgrade
而其它的行保证了能够通知并自动下载、安装安全升级。
为了使来自 root@localhost 的通知能够通过邮件发送给同一账户(再次说明,你可以选择其他账户,如果你想这样的话),下面这些行也是必须的。
emit_via = email
email_from = root@localhost
email_to = root
在 CentOS/RHEL 6 上启用自动安全更新
默认情况下, cron 任务被配置成了立即下载并安装所有更新,但是我们可以通过在 /etc/sysconfig/yum-cron
配置文件中把下面两个参数改为yes
,从而改变这种行为。
# 不要安装,只做检查(有效值: yes|no)
CHECK_ONLY=yes
# 不要安装,只做检查和下载(有效值: yes|no)
# 要求 CHECK_ONLY=yes(先要检查后才可以知道要下载什么)
DOWNLOAD_ONLY=yes
为了启用关于安装包更新的邮件通知,你需要把 MAILTO
参数设置为一个有效的邮件地址。
# 默认情况下 MAILTO 是没有设置的,crond 会将输出发送邮件给自己
# (LCTT 译注:执行 cron 的用户,这里是 root)
# 例子: MAILTO=root
MAILTO=admin@tecmint.com
最后,打开并启用 yum-cron
服务:
------------- On CentOS/RHEL 7 -------------
systemctl start yum-cron
systemctl enable yum-cron
------------- On CentOS/RHEL 6 -------------
# service yum-cron start
# chkconfig --level 35 yum-cron on
恭喜你,你已经成功的在 CentOS/RHEL 7/6 系统上设置了自动升级。
总结
在这篇文章中,我们讨论了如何保持你的服务器定期更新或升级最新的安全补丁。另外,为了保证当新的补丁被应用时你自己能够知道,你也学习了如何配置邮件通知。
如果你有任何关于这篇文章的疑问,请在下面的评论区留下你的问题。我们期待收到你的回复。
本文由 LCTT[3] 原创编译,Linux中国荣誉推出
推荐文章
Yum-cron 是 yum模块 和命令行工具,允许用户为Yum程序包管理器配置cron作业。
Yum-cron 预装在 CentOS的7,但如果出于某种原因,它不存在,你可以通过运行以下命令来安装它。
#yum install yum-cron
安装完成后,通过使用grep命令运行rpm命令来确认yum-cron实用程序的存在。
#rpm -qa | grep yum-cron
成功安装 yum-cron 实用程序后,您需要对其进行配置以自动检索安全更新并更新系统。有2种更新:使用yum update
命令初始化的默认更新 ,最小更新以及最后的安全更新。
在本指南中,我们将配置系统以自动接收安全更新。因此,打开并编辑yum-cron.conf
位于所示路径中的文件。
#vi /etc/yum/yum-cron.conf
找到字符串update_cmd
。默认情况下,此设置为默认值。现在编辑并将值设置为‘security’
。
update_cmd = security
接下来,找到update_messages
参数并确保其值设置为‘yes’
。
update_messages = yes
同样,对download_updates
和也执行相同的操作apply_updates
。
download_updates = yesapply_updates = yes
保存并退出配置文件。
为了使更改生效,请在启动时启动并启用yum-cron守护程序或服务,如图所示。
# systemctl start yum-cron# systemctl enable yum-cron
# systemctl status yum-cron
有时,由于依赖于该软件包的其他应用程序可能会出现兼容性问题,因此您可能需要维护软件包的版本而不更新它们。有时,这甚至可能包括内核本身。
为此,请返回yum-cron.conf
配置文件。在该[base]
部分的底部,在该‘exclude’
参数后面附加一行,并定义要从更新中排除的软件包。
exclude = mysql* php* kernel*
所有以mysql&php开头的软件包名称都将从自动更新中排除。
重新启动yum-cron以使更改生效。
# systemctl restart yum-cron
在yum-cron日志存储在/var/log/yum.log
文件中。要查看已更新的软件包,请运行cat命令。
# cat /var/log/yum.log | grep -i updated
自动系统更新由每天运行的cron作业控制,并存储在/var/log/cron
文件中。查看每日cron作业运行的日志。
# cat /var/log/cron | grep -i yum-daily
现在,您的CentOS 7系统已完全配置为可以进行自动安全更新,而您不必为手动更新系统而烦恼。
Demand feedback