问一下linux下的effective user id 和 real user id 有什么区别?
感觉是一样的,什么样的情况下不一样?文件的owner id 是不是等于拥有者的user id?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
感觉是一样的,什么样的情况下不一样?文件的owner id 是不是等于拥有者的user id?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
uid
和euid
大部分时候是一样的,就是你login所用的uid,但在一个情况下会不一样:Unix下的可执行文件可以设定
sticky
位,比如用chmod u+s some_exec
,此时这个some_exec
是一个“SetUID”程序,无论你的uid
是什么,当你运行这个程序时,你的euid
会变成这个some_exec
的属主的uid
,一般把它叫suid
,此时你的这个进程的权限就变成了这个属主的权限,但uid依然保持不变。这个进程可以用seteuid(2)
在uid
和suid
之间切换。类似的,
gid
也有rgid
、sgid
和egid
,工作方式与uid
相同。最常见的“SetUID”程序就是
su
和sudo
,你可以用它们临时切换权限。real user id (RUID)
进程的创建者用户ID,进程的执行者。该ID仅root用户可以修改。
effective user id (EUID)
该用户ID标识用户进程执行操作的权限。普通用户可以将EUID设置为RUID或SUID,而超级用户可以将EUID设置为任意的合法UID。