Linux 常用C函数(用户组篇3)

Linux 常用C函数(用户组篇3)
2007-03-22 11:41
 

setregid(设置真实及有效的组识别码)
相关函数
setgid,setegid,setfsgid
表头文件
#include<unistd.h>
定义函数
int setregid(gid_t rgid,gid_t egid);
函数说明
setregid()用来将参数rgid设为目前进程的真实组识别码,将参数egid设置为目前进程的有效组识别码。如果参数rgid或egid值为-1,则对应的识别码不会改变。
返回值
执行成功则返回0,失败则返回-1,错误代码存于errno。
 



setreuid(设置真实及有效的用户识别码)
相关函数
setuid,seteuid,setfsuid
表头文件
#include<unistd.h>
定义函数
int setreuid(uid_t ruid,uid_t euid);
函数说明
setreuid()用来将参数ruid 设为目前进程的真实用户识别码,将参数euid 设置为目前进程的有效用户识别码。如果参数ruid 或euid值为-1,则对应的识别码不会改变。
返回值
执行成功则返回0,失败则返回-1,错误代码存于errno。
附加说明
请参考setuid()。
 



setuid(设置真实的用户识别码)
相关函数
getuid,setreuid,seteuid,setfsuid
表头文件
#include<unistd.h>
定义函数
int setuid(uid_t uid)
函数说明
setuid()用来重新设置执行目前进程的用户识别码。不过,要让此函数有作用,其有效的用户识别码必须为0(root)。在Linux下,当root使用setuid()来变换成其他用户识别码时,root权限会被抛弃,完全转换成该用户身份,也就是说,该进程往后将不再具有可setuid()的权利,如果只是向暂时抛弃root 权限,稍后想重新取回权限,则必须使用seteuid()。
返回值
执行成功则返回0,失败则返回-1,错误代码存于errno。
附加说明
一般在编写具setuid root的程序时,为减少此类程序带来的系统安全风险,在使用完root权限后建议马上执行setuid(getuid());来抛弃root权限。此外,进程uid和euid不一致时Linux系统将不会产生core dump。
 



setutent(从头读取utmp 文件中的登录数据)
相关函数
getutent,endutent
表头文件
#include<utmp.h>
定义函数
void setutent(void);
函数说明
setutent()用来将getutent()的读写地址指回utmp文件开头。
附加说明
请参考setpwent()或setgrent()。
 



utmpname(设置utmp 文件路径)
相关函数
getutent,getutid,getutline,setutent,endutent,pututline
表头文件
#include<utmp.h>
定义函数
void utmpname(const char * file);
函数说明
utmpname()用来设置utmp文件的路径,以提供utmp相关函数的存取路径。如果没有使用utmpname()则默认utmp文件路径为/var/run/utmp。
返回值

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值