centos hook centos7常用命令
大家好,今天给各位分享centos hook的一些知识,其中也会对centos7常用命令进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
ultraiso制作启动u盘文件
ultraiso制作启动u盘文件(ultraiso制作启动U盘)一、准备一个的U盘
这里用到是30G的。
二、写入Grub4dos(以下简称g4d)
首先把U盘格式化为FAT32。
先在网上下载g4d0.4.5c,打开压缩包,复制其中的grldr放进U盘,我们就只需要这一个文件。
现在打开UltraISO,注意要有管理员权限。
选择“写入硬盘映像”。
点击“便捷启动”-“分区表编辑器”。
把U盘设置为活动分区。
再选择写入grldr引导。
此时这个U盘应该已经可以启动了。
现在我们来试一下效果。在U盘里新建menu.lst。
用记事本打开,随便写两行字。
保存后重启电脑,选择从U盘启动,下面这张图表示我们已经成功了一半了。
三、引导Linux
在U盘里新建几个文件夹,用来放系统镜像。
顺便放一些实用工具。
现在把ubuntu.iso和mint.iso放到Ubuntu文件夹里,并且从Mint镜像里提取下面两个文件。
最终变成下图这样。
注意镜像的名称不要包含空格等字符,只用字母和数字,不然谁知道会出现什么Bug。
现在修改menu.lst,改成下面这个样子。
title启动mint18.3 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/mint183kdex64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lztitle启动ubuntu18.04 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu18042x64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lz不要问为什么他们这么像,反正他们是亲兄弟。
这样一来,Ubuntu和Mint应该就能启动了,下面说说CentOS。
下载centos6.10minimal,提取其中的images文件夹。
至于为什么需要images,因为安装的时候要填。
menu.lst写起来简单一点。
title安装centos6.10find--set-root/cent/centos610x64.isomap/cent/centos610x64.iso(0xff)|| map--mem/cent/centos610x64.iso(0xff)map--hookchainloader(0xff)四、引导androidx86
先要下载安卓系统,根据客户要求,我选择了凤凰系统,版本是3.06,听说更高的版本会弹出可怕的广告。
这次就不需要iso了,直接解压。
修改menu.lst,由于试用的时候无法安装,所以试用和安装要分开写。
title启动android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/androidx86initrd电脑/androidx86/initrd.imgtitle安装android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel root=/dev/ram0 androidboot.hardware=android_x86 INSTALL=1 SRC=/androidx86initrd/androidx86/initrd.img这个系统有时无法运行,但只要显卡不是太新,那就应该没什么问题。
五、引导WinPE
g4d不支持UEFI,要通过Win10PE来解决这个问题。所以现在要把PE的所有文件提取到U盘的根目录。
这样使用UEFI启动的时候就会进入WinPE。
再把安装镜像放进文件夹,进pe后挂载就可以安装了。
这样就大功告…等一下,Windows10镜像超过4GB,放不进FAT32的U盘。
打开万能的UltraISO,选择压缩镜像。
压缩后的文件在pe里头仍然可以用万能的UltraISO挂载。
六、制作ISO
现在唯一的问题就是这个菜单实在太丑了。
但g4d也是可以制作主题的。现在使用MsgDiyer来制作一个message文件,别忘了修改字库,加入菜单中用到的所有汉字。
把这个文件放在U盘根目录,在menu.lst中加入一行。
到这里总结一下完整的菜单写法。
default 0timeout 10gfxmenu/messagetitle启动Win10PEchainloader/bootmgrtitle启动mint18.3 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/mint183kdex64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lztitle启动ubuntu18.04 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu18042x64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lztitle安装centos6.10find--set-root/cent/centos610x64.isomap/cent/centos610x64.iso(0xff)|| map--mem/cent/centos610x64.iso(0xff)map--hookchainloader(0xff)title启动android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/androidx86initrd/androidx86/initrd.imgtitle安装android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel root=/dev/ram0 androidboot.hardware=android_x86 INSTALL=1 SRC=/androidx86initrd/androidx86/initrd.img现在就变得好看很多…emmm,更难看了。
总之现在要把这个U盘制作成ISO,以后更换U盘的时候可以直接刻录。
打开万能的UltraISO,默认就新建了一张空光盘,把U盘内的所有文件添加进去,再把grldr设为引导文件。
现在这张光盘成了引导光盘,保存即可。
对了,别忘了把光盘大小增加到25g。
linux ld.so.preload机制解析
解决了一个问题,如果对linux selinux有所了解,应能立即看出原因,但既然已分析,记录下来,也算学习与提升的过程。问题出现在一个名为hook_api.so的.so文件,利用/etc/ld.so.preload配置,使每个进程加载此.so,实现特定目的。在centos7上无问题,但centos6.5上配置后,ssh连接失败,手动重启sshd服务后报错。初步判断为权限问题,但具体原因需从代码层面分析。
查看glibc版本为2.12,下载同版本源码,打开代码搜索"cannot be preloaded",找到dl_catch_error函数报错点,但未打印errstring,仅打印笼统错误信息。由于无法直接分析dl_catch_error函数,转向了解配置ld.so.preload的工作机制。
进程创建通过fork和execve实现,fork调用sys_fork系统调用,复制父进程信息,设置内核栈,返回后调用execve。execve调用sys_execve系统调用,主要功能为加载可执行的ELF文件。load_elf_binary解析ELF文件,包含头部信息、Program header table和section信息等。使用readelf查看可执行程序内容,重点关注INTERP和LOAD类型。
INTERP指定动态链接器路径,常为/lib64/ld-linux.so.2;LOAD段包含要加载到内存运行的内容。load_elf_binary解析INTERP内容,加载至地址空间。通过readelf查看路径值,接着解析加载,最终返回值+interp_elf_ex.e_entry得到用户态入口虚拟地址。在用户态,_start作为总入口,调用_dl_start,最终调用dl_main加载依赖.so文件。
dl_main在加载前,判断是否需要PRELOAD的.so文件,即/etc/ld.so.preload配置的.so文件。在2.12版本中,此路径由glibc代码写死。解析/etc/ld.so.preload,一行行读取,#号开头的行忽略,其余行调用do_preload加载.so文件。在do_preload中,实际调用dl_catch_error报错,进一步分析map_doit、open_verify等函数,发现__open打开文件时即报错。问题与sys_open源码中selinux权限检查相关。关闭selinux后,问题解决。如果使用selinux,可将.so文件放置于/lib64目录下,同样可以加载。
ultraiso怎么制作u盘启动盘
一、准备一个的U盘
这里用到是30G的。
二、写入Grub4dos(以下简称g4d)
首先把U盘格式化为FAT32。
先在网上下载g4d0.4.5c,打开压缩包,复制其中的grldr放进U盘,我们就只需要这一个文件。
现在打开UltraISO,注意要有管理员权限。
选择“写入硬盘映像”。
点击“便捷启动”-“分区表编辑器”。
把U盘设置为活动分区。
再选择写入grldr引导。
此时这个U盘应该已经可以启动了。
现在我们来试一下效果。在U盘里新建menu.lst。
用记事本打开,随便写两行字。
保存后重启电脑,选择从U盘启动,下面这张图表示我们已经成功了一半了。
三、引导Linux
在U盘里新建几个文件夹,用来放系统镜像。
顺便放一些实用工具。
现在把ubuntu.iso和mint.iso放到Ubuntu文件夹里,并且从Mint镜像里提取下面两个文件。
最终变成下图这样。
注意镜像的名称不要包含空格等字符,只用字母和数字,不然谁知道会出现什么Bug。
现在修改menu.lst,改成下面这个样子。
title启动mint18.3 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/mint183kdex64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lztitle启动ubuntu18.04 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu18042x64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lz
不要问为什么他们这么像,反正他们是亲兄弟。
这样一来,Ubuntu和Mint应该就能启动了,下面说说CentOS。
下载centos6.10minimal,提取其中的images文件夹。
至于为什么需要images,因为安装的时候要填。
menu.lst写起来简单一点。
title安装centos6.10find--set-root/cent/centos610x64.isomap/cent/centos610x64.iso(0xff)|| map--mem/cent/centos610x64.iso(0xff)map--hookchainloader(0xff)
四、引导androidx86
先要下载安卓系统,根据客户要求,我选择了凤凰系统,版本是3.06,听说更高的版本会弹出可怕的广告。
这次就不需要iso了,直接解压。
修改menu.lst,由于试用的时候无法安装,所以试用和安装要分开写。
title启动android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/androidx86initrd/androidx86/initrd.imgtitle安装android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel root=/dev/ram0 androidboot.hardware=android_x86 INSTALL=1 SRC=/androidx86initrd/androidx86/initrd.img
这个系统有时无法运行,但只要显卡不是太新,那就应该没什么问题。
五、引导WinPE
g4d不支持UEFI,要通过Win10PE来解决这个问题。所以现在要把PE的所有文件提取到U盘的根目录。
这样使用UEFI启动的时候就会进入WinPE。
再把安装镜像放进文件夹,进pe后挂载就可以安装了。
这样就大功告…等一下,Windows10镜像超过4GB,放不进FAT32的U盘。
打开万能的UltraISO,选择压缩镜像。
压缩后的文件在pe里头仍然可以用万能的UltraISO挂载。
六、制作ISO
现在唯一的问题就是这个菜单实在太丑了。
但g4d也是可以制作主题的。现在使用MsgDiyer来制作一个message文件,别忘了修改字库,加入菜单中用到的所有汉字。
把这个文件放在U盘根目录,在menu.lst中加入一行。
到这里总结一下完整的菜单写法。
default 0timeout 10gfxmenu/messagetitle启动Win10PEchainloader/bootmgrtitle启动mint18.3 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/mint183kdex64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lztitle启动ubuntu18.04 livecdkernel/ubuntu/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu18042x64.iso locale=zh_CN.UTF-8initrd/ubuntu/initrd.lztitle安装centos6.10find--set-root/cent/centos610x64.isomap/cent/centos610x64.iso(0xff)|| map--mem/cent/centos610x64.iso(0xff)map--hookchainloader(0xff)title启动android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/androidx86initrd/androidx86/initrd.imgtitle安装android(凤凰3.06)find--set-root/androidx86/kernelkernel/androidx86/kernel root=/dev/ram0 androidboot.hardware=android_x86 INSTALL=1 SRC=/androidx86initrd/androidx86/initrd.img
现在就变得好看很多…emmm,更难看了。
总之现在要把这个U盘制作成ISO,以后更换U盘的时候可以直接刻录。
打开万能的UltraISO,默认就新建了一张空光盘,把U盘内的所有文件添加进去,再把grldr设为引导文件。
现在这张光盘成了引导光盘,保存即可。
对了,别忘了把光盘大小增加到25g。