社区
C语言
帖子详情
getuid 和 geteuid 的区别
amoihin
2009-07-11 07:59:11
不太明白getuid 和 geteuid 的区别,什么是effective user id 和 user id 的区别啊?
能不能给个程序显示他们的区别?
另外,这是不是一个笨问题啊?
我自己google找不到答案,有什么方法能自己解决类似的问题?
...全文
1729
7
打赏
收藏
getuid 和 geteuid 的区别
不太明白getuid 和 geteuid 的区别,什么是effective user id 和 user id 的区别啊? 能不能给个程序显示他们的区别? 另外,这是不是一个笨问题啊? 我自己google找不到答案,有什么方法能自己解决类似的问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ISPCFS
2011-10-09
打赏
举报
回复
[Quote=引用 4 楼 hairetz 的回复:]
有效用户ID(EUID)是你最初执行程序时所用的ID
表示该ID是程序的所有者
真实用户ID(UID)是程序执行过程中采用的ID
该ID表明当前运行位置程序的执行者
举个例子
程序myprogram的所有者为501/anna
以501运行该程序此时UID和EUID都是501
但是由于中间要访问某些系统资源
……
[/Quote]
另外,向4楼大牛请教。
在不为程序设置set_uid的情况下,UID和EUID会不会出向不想相同的情况?
在设置了set_uid的情况下,用一般用户如1001来执行root所有的程序,观察UID和EUID,发现UID=1001,而EUID为0.似乎与你结论不符,EUID确实是程序所有者的ID,但并非是最初执行程序的用户的ID。。
ISPCFS
2011-10-09
打赏
举报
回复
[Quote=引用 4 楼 hairetz 的回复:]
有效用户ID(EUID)是你最初执行程序时所用的ID
表示该ID是程序的所有者
真实用户ID(UID)是程序执行过程中采用的ID
该ID表明当前运行位置程序的执行者
举个例子
程序myprogram的所有者为501/anna
以501运行该程序此时UID和EUID都是501
但是由于中间要访问某些系统资源
……
[/Quote]
4楼说的好像有点问题。如,用户501运行root所有的程序,则UID=501,而EUID=0.。
ISPCFS
2011-10-08
打赏
举报
回复
学习了。。。。。。
猫已经找不回了
2009-07-11
打赏
举报
回复
有效用户ID(EUID)是你最初执行程序时所用的ID
表示该ID是程序的所有者
真实用户ID(UID)是程序执行过程中采用的ID
该ID表明当前运行位置程序的执行者
举个例子
程序myprogram的所有者为501/anna
以501运行该程序此时UID和EUID都是501
但是由于中间要访问某些系统资源
需要使用root身份
此时UID为0而EUID仍是501
http://topic.csdn.net/t/20050324/17/3878444.html
amoihin
2009-07-11
打赏
举报
回复
实际用户和有效用户的区别是什么啊?
Treazy
2009-07-11
打赏
举报
回复
[Quote=引用楼主 amoihin 的帖子:]
不太明白getuid 和 geteuid 的区别,什么是effective user id 和 user id 的区别啊?
能不能给个程序显示他们的区别?
另外,这是不是一个笨问题啊?
我自己google找不到答案,有什么方法能自己解决类似的问题?
[/Quote]
HP-UX
getuid() 调用进程的实际用户ID
geteuid() 调用进程的有效用户ID
一个是实际用户,一个是有效用户
大前置
2009-07-11
打赏
举报
回复
getegid()用来取得执行目前进程有效组识别码。有效的组识别码用
来决定进程执行时组的权限。
geteuid()用来取得执行目前进程有效的用户识别码。有效的用户识
别码用来决定进程执行的权限,借由此改变此值,进程可以获得额
外的权限。
getgid //获取
geteuid //修改
php 执行系统命令的方法
代码如下: 复制代码 代码如下:#include <stdio> #include <stdlib> #include <sys> #include <unistd> #include <string> int ...
uid
=get
uid
();
e
uid
= get
e
uid
(); //printf(“param %s\n”,strcat(cmd,argv[1]));
get
uid
和get
e
uid
的
区别
get
uid
() : 函数返回一个调用程序的真实用户ID。表明当前运行位置程序的执行者。 get
e
uid
():函数返回返回一个有效用户的ID。(
E
UID
)是你最初执行程序时所用的ID,该ID是程序的所有者。 转载于:...
get
uid
、get
e
uid
、getgid和getegid函数
uid
_t get
uid
(void);
uid
_t get
e
uid
(void); 作用:get
uid
返回当前进程的实际用户ID;get
e
uid
返回当前用户的有效用户ID。这两个总是成功,不会失败。 #include <unistd.h> #include &l...
linux set
uid
函数_get
uid
、get
e
uid
和set
uid
函数 | 学步园
在linux中每个进程有三个[实际上有第4个]用户标识符.real
uid
: 真实用户ID. saved
uid
: 已保存用户ID , effective
uid
: 有效用户ID真实用户ID(real
uid
)是login时的用户.而在运行过程中,用于所有的安全检查的是...
getpid getppid get
uid
get
e
uid
getgid getegid函数使用
pid_tmp = get
uid
(); printf("the ID of the actural user is:%d\n",pid_tmp); pid_tmp = get
e
uid
(); printf("the ID of the effective user is :%d\n",pid_tmp); pid_tmp = getgid(); printf("the ID of the ...
C语言
69,372
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章