社区
C语言
帖子详情
getuid 和 geteuid 的区别
amoihin
2009-07-11 07:59:11
不太明白getuid 和 geteuid 的区别,什么是effective user id 和 user id 的区别啊?
能不能给个程序显示他们的区别?
另外,这是不是一个笨问题啊?
我自己google找不到答案,有什么方法能自己解决类似的问题?
...全文
1780
7
打赏
收藏
getuid 和 geteuid 的区别
不太明白getuid 和 geteuid 的区别,什么是effective user id 和 user id 的区别啊? 能不能给个程序显示他们的区别? 另外,这是不是一个笨问题啊? 我自己google找不到答案,有什么方法能自己解决类似的问题?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 //修改
linux进程创建.doc
linux进程创建.doc
最全Linux C 库函数官方中文API手册
最全Linux C 库函数官方中文API手册,相信不用我多说大家都知道是干什么的,开发者都知道,辛苦整理的这个资源,希望大家喜欢,希望对大家有帮助,谢谢大家,请给个五星好评,谢谢啦!
求解报错:AttributeError:module ‘os’ has no attribute ‘exit’
python3 server.py 127.0.0.1 8888 Traceback (most recent call last): File “server.py”, line 83, in main() File “server.py”, line 76, in main os.exit() AttributeError: module ‘os’ has no attribute ‘exit’ 部分代码入下: from socket import * import sys,os #实现登录 def do_login(s,user,name,addr): for i in user: i
linux C语言函数大全
介绍了c语言的各个函数和linux 系统调用的功能
Linux系统下C语言编程--进程的创建
Linux操作系统是面向多用户的.在同一时间可以有许多用户向操作系统发出各种命 令.那么操作系统是怎么实现多用户的环境呢?在现代的操作系统里面,都有程序和进程的概念.那么什么是程序,什么是进程呢?通俗的讲程序是一个包含可以执 行代码的文件,是一个静态的文件.而进程是一个开始执行但是还没有结束的程序的实例.就是可执行文件的具体实现。本文为大家介绍Linux系统下C语言编程--进程的创建。
C语言
70,026
社区成员
243,259
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章