上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页
摘要: 如果在编写内核源代码时给内核留下后门,则你可以很容易的利用,则可轻易的使用模块实现一些扩展功能(实现一些跟内核相关的应用或是出于攻击性目的的扩展)。例如:在read系统调用的实现中,你留下了后门:在read_write.c中,定义了函数指针void (backdoor*)(size_t *count) = NULL;并使用EXPORT_SYMBOL带出符号backdoor。在sys_read中加入如下代码:if(backdoor != NULL) backdoor(&count); //这里的count为sys_read的最后一个参数在内核模块中,你可以实现自己的后门函数,并将back 阅读全文
posted @ 2013-04-19 14:07 ydzhang 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 当克隆或者重装虚拟机后,再启动系统(Fedora 11)时会发现系统下不再有eth0,而变成了eth1,当使用/etc/init.d/network重启网络时,会提示找不到设备eth0及eth1的启动脚本。做以下改动:/etc/sysconfig/network-scripts/ifcfg-eth0重命名为/etc/sysconfig/network-scripts/ifcfg-eth1/etc/init.d/network restart 提示找不到eth0 发现脚本中的device一项没有改过来,将其改为eth1(或者删掉)/etc/init.d/network restart 提示网.. 阅读全文
posted @ 2013-04-19 14:07 ydzhang 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 总是感觉DNFS中缺乏应有的安全机制,如果简单的在挂载之前加入密码认证方式,我感觉没有多大的意义,多于开源的代码说,如果跳过了认证过程,没有任何意义,另外如果使用密码认证方式,也不能像一些网站那样注册,那样的话认证过程起不到任何作用,如果以付费的方式使用,用户的用户名密码应由管理者根据用户所购买的服务统一的发放和注销。花了点时间看了一下用得比较多的几种认证方式,如Kerberos,PKI/CA,这两种方式都是依赖于一个信任的第三方,其实这也说明了安全是有源头的,无论多少复杂的实现,最后必须有一个可信任的原点,一切的机制都仅仅是这个原点的扩展。计算机里很多的机制都是来源于现实生活,如云计算(将计 阅读全文
posted @ 2013-04-19 14:07 ydzhang 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 单独编译某个内核模块编内核难免有的时候忘记了配置某个模块,导致该模块不可用,那是不是必须重新配置内核并重新编译呢,答案是否定的,完全可以单独编译某一个内核模块,我在使用最新的fuse-2.8.0-pre1时,发现其中已经没有fuse模块了,原来fuse从2.8版本开始就不包含内核模块了,其已作为内核源码的一部分发布。定位fuse模块内核代码/home/ydzhang/linux-2.6.19/fs/fuse/*.c查看其下的Makefile:# Makefile for the FUSE filesystem.obj-$(CONFIG_FUSE_FS) += fuse.ofuse-objs : 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(1198) 评论(0) 推荐(0) 编辑
摘要: 最近又碰到一个熟悉的问题,在准备修改代码的时候,刚开始只准备对一个地方做修改,结果写着写着有冒出很多想法,于是就一直改一直改,等把几个想法的代码完成之后,运行的时候碰到一些逻辑的错误,由于修改的地方太多,一下子也分析不出来是哪里出错了,然后很郁闷的定位错误,修改代码,直到功能正常,有时花在调试上的时间比重新写一遍还要长很多。版本控制工具给我们的开发工作带来很多便利,而我们使用svn commit这个动作往往很“吝啬”,这样svn都发挥不了自己的优势了,做版本控制时,每次修改最好只针对某一功能模块,写完之后commit并附上log信息,这样即使改完后有错误,也能马上定位错误源,从而提高效率。管理 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(95) 评论(0) 推荐(0) 编辑
摘要: UCARP允许多个主机共享一个虚拟的ip地址,以提供自动的故障恢复功能,当其中某个主机宕机时,其它的主机会自动接管服务。UCARP是CARP协议(通用地址冗余协议,最早在OpenBSD上实现)的linux实现版本,同时也能移植到其它多个unix平台,UCARP的官方网站:http://www.ucarp.org/project/ucarp 。 CARP协议的特点在于其非常低的开销,主机间使用加密数据传递信息,并且在冗余主机之间不需要任何额外的网络链接。下载ucarp源代码包:http://download.pureftpd.org/pub/ucarp/,在README中有ucarp的简单部署实 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(478) 评论(0) 推荐(0) 编辑
摘要: Linux进程通过一个task_struct结构体描述,在linux/sched.h中定义,通过理解该结构,可更清楚的理解linux进程模型。 包含进程所有信息的task_struct数据结构是比较庞大的,但是该数据结构本身并不复杂,我们将它的所有域按其功能可做如下划分: · 进程状态(State) · 进程调度信息(Scheduling Information) · 各种标识符(Id... 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 先后看过学校两个团队的晚会,都搞得相当不错,展现了很强的团队凝聚力。去年看冯老师课题组的元旦晚会,感觉实验室真像个家,温馨、温暖;前天看学校鼎鼎大名的Dian团队8周年庆典晚会,让我非常惊讶的是,很多毕业的团队成员都赶回来参加这个晚会,这也充分说明了这个团队曾经对他们影响很大,他们身上展现的那种集体责任感,让我非常的敬佩。 借用一下百度百科上对团队文化的定义,团队文化是一个团队由其价值观、信念、... 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 最近学习块设备驱动程序的编写,在网上发现一个题为“写一个块设备驱动“的教程,共包含15章,教程最先是在chinaunix论坛上发的,很多人的博客都转载了这组文章,是一个叫赵磊的大牛写的,拜读了一下,教程写得通俗易懂,很有收获。本文对这组文章的内容进行了简要的概括,并附上每章的链接,当然,你google一下也能找到一大堆。第一章内容概括:模块的编写,块设备的基础编程结构,gendisk及其request_queue的管理,简单块设备驱动的实现(初始化gendisk,实现request_queue的处理方法),对块设备进行格式化文件系统并使用。链接1:http://hi.baidu.com/jjb 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 最近在使用filp_open打开文件时遇到到一个问题,当打开一个并不存在的文件时,filp_open返回值值为0xfffffffe,而并不是0(NULL),这是因为内核对返回指针的函数做了特殊处理。内核中的函数常常返回指针,通常如果调用出错,会返回NULL空指针,但linux做了更精妙的处理,能够通过返回的指针体现出来。对任何一个指针,必然有三种情况:一种是有效指针,一种是NULL,空指针,一种是错误指针,或者说无效指针。而所谓的错误指针就是指其已经到达了最后一个page,比如对于32bit的系统来说,内核空间最高地址0xffffffff,那么最后一个page就是指的0xfffff000~0x 阅读全文
posted @ 2013-04-19 14:06 ydzhang 阅读(1666) 评论(2) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页