glibc
由于,我计划对几台服务器进行升级CVE-2015-7547
。
https://googleonlinesecurity.blogspot.jp/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
在升级之前glibc
,我想粗略估计一下涉及哪些服务和程序,glibc
这样就不会把事情搞砸。
有什么好方法可以做到这一点吗?
答案1
*nix 系统上的几乎每个二进制文件都使用它,但如果您想运行一些特定的检查,您可以执行以下操作:
$ for i in sort dig nc httpd nginx postfix tail head named awk sed; do ldd $(which $i) | grep -qw libc && echo $i; done
sort
dig
nc
httpd
nginx
postfix
tail
head
named
awk
sed
输出将只是引用 libc 的二进制文件,正如您所见,在我上面选择的简短列表中,包含所有内容。
通常,这样的升级需要重新启动所有服务。对于像这样的大型图书馆,我通常会尽可能安排完全重新启动系统,但我意识到这可能是不可能的,在某些情况下,可能不需要(通常重新启动服务就足够了)。
仅供参考,上述脚本之所以有效,主要是因为:
$ ldd /usr/bin/dig | grep -w libc
libc.so.6 => /lib64/libc.so.6 (0x00007f2b1158a000)
$ rpm -q --whatprovides /lib64/libc.so.6
glibc-2.12-1.166.el6_7.7.x86_64