建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

在 CentOS 和 RHEL 系统上安装或自动更新安全补丁(使用Yum-Cron在CentOS 7系统中自动安装安全更新教程)

GG网络技术分享 2025-03-18 16:12 0


在 CentOS 和 RHEL 系统上安装或自动更新安全补丁

在 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 系统上,你需要安装下面的安装包:

  1. # yum update -y && yum install yum-cron -y

在 CentOS/RHEL 7 系统上启用自动安全更新

安装完成以后,打开 /etc/yum/yum-cron.conf,然后找到下面这些行内容,你必须确保它们的值和下面展示的一样

  1. update_cmd = security

  2. update_messages = yes

  3. download_updates = yes

  4. apply_updates = yes

第一行表明自动更新命令行应该像这样:

  1. # yum --security upgrade

而其它的行保证了能够通知并自动下载、安装安全升级。

为了使来自 root@localhost 的通知能够通过邮件发送给同一账户(再次说明,你可以选择其他账户,如果你想这样的话),下面这些行也是必须的。

  1. emit_via = email

  2. email_from = root@localhost

  3. email_to = root

在 CentOS/RHEL 6 上启用自动安全更新

默认情况下, cron 任务被配置成了立即下载并安装所有更新,但是我们可以通过在 /etc/sysconfig/yum-cron配置文件中把下面两个参数改为yes,从而改变这种行为。

  1. # 不要安装,只做检查(有效值: yes|no)

  2. CHECK_ONLY=yes

  3. # 不要安装,只做检查和下载(有效值: yes|no)

  4. # 要求 CHECK_ONLY=yes(先要检查后才可以知道要下载什么)

  5. DOWNLOAD_ONLY=yes

为了启用关于安装包更新的邮件通知,你需要把 MAILTO参数设置为一个有效的邮件地址。

  1. # 默认情况下 MAILTO 是没有设置的,crond 会将输出发送邮件给自己
    # (LCTT 译注:执行 cron 的用户,这里是 root)

  2. # 例子: MAILTO=root

  3. MAILTO=admin@tecmint.com

最后,打开并启用 yum-cron服务:

  1. ------------- On CentOS/RHEL 7 -------------

  2. systemctl start yum-cron

  3. systemctl enable yum-cron

  4. ------------- On CentOS/RHEL 6 -------------

  5. # service yum-cron start

  6. # chkconfig --level 35 yum-cron on

恭喜你,你已经成功的在 CentOS/RHEL 7/6 系统上设置了自动升级。

总结

在这篇文章中,我们讨论了如何保持你的服务器定期更新或升级最新的安全补丁。另外,为了保证当新的补丁被应用时你自己能够知道,你也学习了如何配置邮件通知。

如果你有任何关于这篇文章的疑问,请在下面的评论区留下你的问题。我们期待收到你的回复。

本文由 LCTT[3] 原创编译,Linux中国荣誉推出

推荐文章

使用Yum-Cron在CentOS 7系统中自动安装安全更新教程

Yum-cron  是  yum模块  和命令行工具,允许用户为Yum程序包管理器配置cron作业。

步骤1:在CentOS 7中安装Yum-cron实用程序

Yum-cron 预装在  CentOS的7,但如果出于某种原因,它不存在,你可以通过运行以下命令来安装它。

#yum install yum-cron

安装完成后,通过使用grep命令运行rpm命令来确认yum-cron实用程序的存在。

#rpm -qa | grep yum-cron

步骤2:在CentOS 7中配置自动安全更新

成功安装  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 = yes

apply_updates = yes

保存并退出配置文件。

为了使更改生效,请在启动时启动并启用yum-cron守护程序或服务,如图所示。

# systemctl start yum-cron

# systemctl enable yum-cron

# systemctl status yum-cron

步骤3:如何从Yum中排除软件包更新

有时,由于依赖于该软件包的其他应用程序可能会出现兼容性问题,因此您可能需要维护软件包的版本而不更新它们。有时,这甚至可能包括内核本身。

为此,请返回yum-cron.conf配置文件。在该[base]部分的底部,在该‘exclude’参数后面附加一行,并定义要从更新中排除的软件包。

exclude = mysql* php* kernel*

所有以mysqlphp开头的软件包名称都将从自动更新中排除。

重新启动yum-cron以使更改生效。

# systemctl restart yum-cron

步骤4:检查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