在系统调用中创建用户
Create user inside a syscall
是否可以像 useradd
命令那样在 Linux 内核的系统调用中创建用户?
我在某处看到系统调用不能使用 exec
家族,是真的吗?
在内核中,用户由他们的 ID(一个数字)标识,这是内核所知道的关于用户的唯一信息。
就内核而言,不需要创建用户:要使进程拥有不同的用户,只需调用 setuid() 并使用不同的号码即可。
用户 ID 和其他信息(名称、主目录等)之间的映射完全在用户 space 中完成。并且用户信息存储在/etc/passwd
这样的文件中只是一种约定;有些系统使用不同的用户(例如 Android 为每个应用程序提供自己的用户 ID)。
如果你真的想执行一个用户态程序,调用call_usermodehelper()。
是否可以像 useradd
命令那样在 Linux 内核的系统调用中创建用户?
我在某处看到系统调用不能使用 exec
家族,是真的吗?
在内核中,用户由他们的 ID(一个数字)标识,这是内核所知道的关于用户的唯一信息。
就内核而言,不需要创建用户:要使进程拥有不同的用户,只需调用 setuid() 并使用不同的号码即可。
用户 ID 和其他信息(名称、主目录等)之间的映射完全在用户 space 中完成。并且用户信息存储在/etc/passwd
这样的文件中只是一种约定;有些系统使用不同的用户(例如 Android 为每个应用程序提供自己的用户 ID)。
如果你真的想执行一个用户态程序,调用call_usermodehelper()。