保证Linux系统安全的重要环节就是保持系统的随时的更新,特别是Security updates的更新。
首先,第一个问题是: 是否应该让你的CentOS服务器保持自动更新? 这个问题其实并没有一个显而易见的答案。保持自动更新可以随时更新安全补丁,各种模块的新功能等,但同时也可能对系统的稳定性带来影响,可能会发生自动更新后某些模块和功能出现问题的情况。
我的建议是:
如果是公司的企业级服务器,还是手动更新比较好,首先在测试服务器上测试相应的更新,确认没有问题后再应用到正式的服务器上。 同时对安全类的补丁和功能性的补丁区分对待。 Security updates 应该尽快应用,而功能性的patchs应该在确保没有问题的时候才安装到正式的服务器上。
如果是自己个人的服务器,用来放置自己的网站什么的,对稳定性要求没有那么高,而且不想天天去检查更新,使用自动更新可能是更好的选择。
解决了是否要自动更新的问题,下面的问题就是如何使自己的系统能自动保持更新了。可以使用下面的任何一种方法。
方法一: 利用系统的cron服务, 编辑/etc/crontab文件,使之每天自动执行yum update命令
[code]
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=youremail@domain.com
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .—————- minute (0 – 59)
# | .————- hour (0 – 23)
# | | .———- day of month (1 – 31)
# | | | .——- month (1 – 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 3 * * * root yum -y update //每天3点中自动执行yum update!
[/code]
方法二: 使用yum-cron服务
yum-cron会在/etc/cron.daily 目录下生成一个0yum.cron文件,缺省情况下会每天自动更新你的系统。你也可以通过修改/etc/sysconfig/yum-cron来设定自动更新的选项。 这个方法其实和方法一并没有本质的差别。
缺省情况下,yum-cron一般并没有安装,需要先安装,然后启动服务
[code]
yum install yum-cron
chkconfig –level 345 yum-cron on
service yum-cron start
[/code]
你可以修改/etc/sysconfig/yum-cron中的一些设置,
[code]
CHECK_ONLY=no (如果改成yes,表明只是检查是否有新的更新,并不实际安装)
DOWNLOAD_ONLY=no (如果改成yes, 表明检查更新并下载,但并不安装)
MAILTO= youremailaddress (这个地方要改成你自己的email)
[/code]