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。

阅读剩余
THE END