Questions tagged «system-calls»

有关程序如何使用系统调用与内核API交互,哪些可用调用,如何工作等细节的问题。

2
为什么要求privs将setgid()添加到补充组
set*gid()除极少数情况外,各种系统调用都需要特权来更改组。将主要组更改为进程的补充组之一似乎不是其中之一,这意味着例如newgrp/ sg命令需要提升特权才能切换主要组。 是否有一个原因,为什么setgid()/ setegid()/ setregid()/ setfsgid()不允许没有PRIVS切换到补充组?如果是这样,原因是什么?

1
有关Linux内核安全性的一些基本问题[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我对Linux内核了解不多,并且有一些疑问。 将内核内存与用户空间内存分开的主要目的是什么?要确保用户应用程序不会对内核造成任何不良影响? 用户级应用程序有几种方法可以将控制权转移到内核?我能想到的包括(1)调用系统调用,(2)将内存映射到内核(但我认为mmap()也是系统调用),以及(3)加载内核模块(但我想lsmod还调用一些系统调用)。我对么?还有其他我想念的方式吗? 有几种攻击内核的方法?我可以简要介绍一下吗? 如果我获得root特权,是否意味着我完全控制了内核?即,我可以对内核和硬件做任何我想做的事吗?还是我对内核的功能仍然有限? 如果有人可以帮助我找出这些问题的答案,我将不胜感激。

1
vdso共享库(linux-vdso.so)是包含内核对象代码(系统调用)的库吗?
我注意到我编译到gcc的所有程序都链接到vdso库。这个库是否包含对内核的系统调用(如mmap()和fork()以及其他系统调用)的库? 我知道系统调用不是GNU C标准库的功能,因此它们的目标代码必须位于在编译时与应用程序链接的某个库中吗? 那么vdso是那个库吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.