kernel 2.6.18 提权漏洞
centos5版本的内核默认是2.6.18,普通用户通过运行kernels这个脚本,可以直接提升至root权限。
距离上次编译升级内核已经有2年了,手生了,练练手。
升级到2.6.27
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.gz
tar zxvf linux-2.6.27.tar.gz -C /usr/src
cd /usr/src/linux-2.6.27
make menuconfig
make
make modules_install
cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.27-root
cp System.map /boot/System.map-2.6.27-root
#mkinitrd /boot/initrd-2.6.27-root.img 2.6.27
在执行这命令的时候会报错:No module dm-mem-cache found for kernel 2.6.27,aborting
表明该版本的mkinitrd有bug。
解决方法就是在使用mkinitrd时,使用-without-dmraid这个参数
mkinitrd /boot/initrd-2.6.27-root.img 2.6.27 -without-dmraid
vi /etc/grub.conf
title CentOS (2.6.27) root (hd0,0) kernel /vmlinuz-2.6.27-root ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.27-root.img
最后重启系统就OK了。
这里需要注意的是(hd0,0) 假如这里写错的话在重启系统会显示:error 22 no such partition
等有时间了再升级到内核的最新版本。跟27版本好像还有很大的差别。
在版本27下再用普通用户执行刚才的脚本,已经不起作用了。
OK,测试完毕~
