我实现了一个功能有限的简单Hello World系统调用 - 只需从用户模式转换到内核模式,打印一条用内核消息记录的消息,然后转换回用户模式。
额外功劳的下一步是添加一个有用的(新)系统调用,这对非root用户通常不可用。
系统调用可以很简单,但是我很难想出任何想法......有人能指出我正确的方向还是想要轻松实现的东西? (我们给出的提示是使用新的系统调用进行调试!)
答案 0 :(得分:2)
内核结构中有大量关于进程的信息:页面位置,内存统计信息,I / O统计信息和文件句柄信息,CPU调度信息等。虽然大多数信息可能通过诸如proc
文件系统,以编程方式获取该信息可能需要解析proc
输出等。提供一种获取有关进程的此类信息的方法(可能不太关注可能出现的安全问题)时间)可能有用。
答案 1 :(得分:1)
用户通常不能将他们自己拥有的文件的所有权归给另一个用户(当然,这有充分理由!)。你可以实现一个系统调用来做到这一点。别忘了清除setuid位!
答案 2 :(得分:0)
如何将当前进程的uid设置为0,本质上是一个“后门”系统调用,为任何调用它的用户提供root访问权限?
答案 3 :(得分:-1)
也许是一个新的调用来专门更新受信任的NTP服务器的系统日期和时间? 我认为普通用户无法自行完成此操作。
以某种方式更改网络设置?释放/更新DHCP租约,或实现简单的网络位置,这些位置是存储在根写可配置文件中的预定义批量设置。
答案 4 :(得分:-1)
最简单的事情 - 进行调试 - 会创建一个系统调用,让您直接访问内核的“printk”调用!