当前位置:  技术问答>linux和unix

增加Linux系统调用

    来源: 互联网  发布时间:2017-02-02

    本文导语:  大家帮忙看下这个题: 修改已经编译成功的内核,为其增加新的系统调用 实现系统调用noexec,用它设置进程允许执行exec系统调用的次数。该系统调用能用来防止一些缓冲区溢出攻击,这些攻击最终通过exec产生一个shel...

大家帮忙看下这个题:
修改已经编译成功的内核,为其增加新的系统调用
实现系统调用noexec,用它设置进程允许执行exec系统调用的次数。该系统调用能用来防止一些缓冲区溢出攻击,这些攻击最终通过exec产生一个shell界面。原型如下:
int noexec(int nexec);
参数nexec含义如下:
 nexec == 0, 执行exec将失败。
 nexec == n, n>0, 可以执行n次exec。
 nexec == -1, 执行exec的次数没有限制。
 nexec == 其它值, 不改变允许执行exec系统调用的次数。
系统调用的返回值是本次noexec调用之前允许exec系统调用的次数。
新创建的子进程允许执行exec的次数继承自父进程,只有超级用户能够通过noexec增加可执行exec的次数。
问题:
(1) 为了跟踪允许执行次数,是否要修改进程描述符task_struct?
(2) 为了保证继承语义,最早的进程应该如何初始化?
(3) fork系统调用是否要做修改?
(4) execve系统调用是否要修改?
我是个新手,请大家多多指教:)


|
task_struct中加入新域如n  标记允许exec系统调用的次数
加上noexec 为某process设置这个n
sys_execve 中
通过 current 中的n进行判断

init 进程配置n为一个默认值
fork系统调实现估计要改
主要应该在do_fork这里 task_struct 是如何生成的  把n也拷贝到子进程


|
在调用sys_noexec前current->nexec 是多少
fork中赋值代码正确不

|
学习嵌入式linux的高手们,来加入我们共嵌入式学习交流群“一切都好”群号:36711379。。。。。来这里一起交流

|
up!~~

|
帮顶一下!

    
 
 

您可能感兴趣的文章:

  • 请教在linux中如何动态的增加一个系统调用(模块中)
  • 增加系统调用
  • linux内核编程,增加系统调用
  • 关于增加LINUX系统调用的问题
  • 如何不重编内核,而通过加载模块来增加系统调用?
  • 如何向Linux内核中增加一个系统调用完成能耗管理?
  • 【求助】如何增加一个系统调用
  • ubuntu 9.10增加系统调用后测试函数错误的问题
  • 2.6.7内核中增加系统调用与2.4.20不一样了么?该如何弄
  • vmware下如何增加系统空间
  • 如何增加linux虚拟机文件系统空间
  • rehat9.0系统,无法修改密码、增加用户
  • 如何增加RedHat linux7.2系统默认的头文件搜索位置?
  • ubuntu visodu增加apache用户权限后用重启系统吗
  • 问一下初级的问题,如果通过SSH增加一个系统用户
  • 给aix 系统增加中文字符集
  • 请教如何在操作系统增加一个处理命令?
  • raid0的centos系统,要如何增加/opt的分区大小?
  • 每隔一段时间在Linux系统下执行 wget 命令请求服务器网页,会使内存增加吗?
  • 定时top看系统参数,发现我的程序的SIZE项和RES项的数值一直在增加,这是不是说明,我的程序有内存泄漏?
  • turbolinux10中原来是英文操作系统,现在想变成支持中文,请问有什么好方法,如果能通过增加中文包来解决,请提供一点详细的资料。
  • redhat9.0系统机器中增加一个硬盘,系统启动后根文件系统起不来的问题
  • 网络发送数据时 进程所占内存缓慢增加,直到系统内存耗尽而killed掉,[请大家帮忙]
  • 紧急求救!如何在SunOs 5.8系统下,增加一个IP地址?谢谢!
  • c语言实现的货物管理系统实例代码(增加删除 查找货物信息等功能)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Stacks(堆栈) 成员 push():在栈顶增加元素
  • 在JAVA中怎么在JLIST中增加元素?(不是在JLIST生成时增加,而是随时动态增加)
  • Mysql增加主键或者更改表的列为主键的sql语句
  • 在linux中架设好FTP服务后,增加了用户却无法用新增加的用户访问FTP,纳闷呀..
  • 我linux 上 的 C程序为什么虚拟内存(VSZ) 不断增加 一天之后增加好几倍?
  • 请问如何增加栈(stack)空间的大小
  • GtkTreeIter这个控件不能增加鼠标双击事件吗
  • 如何在已做RAID 5的服务器上增加新的SCSI硬盘
  • oracle增加表空间大小两种实现方法
  • 增加用户?
  • JBuilder 7中如何增加一个新的Server
  • 怎么才能增加虚拟内存?
  • 怎么给一指定用户增加权限
  • 硬盘装rh9.0好后,如何增加软件包??
  • 怎样自动增加编号
  • gvim怎么增加关键字?
  • 如何增加分给Linux的磁盘空间
  • 如何增加VMware下Linux的硬盘容量!
  • 告急!! "/"根目录下空间快慢,请教如何增加根目录的空间?
  • 自动增加调度怎么实现
  • 如何删除或者增加JTABLE中的行?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3