函数getresuid(&arg1,&arg2,&arg3)和setresuid(arg1,arg2,arg3)有什么作用?
如果给出这些函数的真正基本解释,那将是很好的.
从credentials(7)
手册页(删节):
在Linux上,每个进程都具有以下用户和组标识符:
真实用户ID和真实组ID.这些ID确定谁拥有该进程.
有效的用户ID和有效的组ID.内核使用这些ID来确定进程在访问共享资源(如消息队列,共享内存和信号量)时将具有的权限.在大多数UNIX系统上,这些ID还确定访问文件时的权限.但是,Linux使用文件系统ID执行此任务.
已保存的set-user-ID和已保存的set-group-ID.这些ID用于set-user-ID和set-group-ID程序,以保存执行程序时设置的相应有效ID的副本.set-user-ID程序可以通过在其真实用户ID和保存的set-user-ID中的值之间来回切换其有效用户ID来假定和删除权限.
这些函数在一次调用中获取并设置所有这三个UID.和往常一样,请参阅完整的手册页以获取完整的详细信息.