问一下linux下的effective user id 和 real user id 有什么区别?

发布于 2022-08-29 21:04:15 字数 56 浏览 10 评论 0

感觉是一样的,什么样的情况下不一样?文件的owner id 是不是等于拥有者的user id?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡忘如思 2022-09-05 21:04:15

uideuid大部分时候是一样的,就是你login所用的uid,但在一个情况下会不一样:
Unix下的可执行文件可以设定sticky位,比如用chmod u+s some_exec,此时这个some_exec是一个“SetUID”程序,无论你的uid是什么,当你运行这个程序时,你的euid会变成这个some_exec的属主的uid,一般把它叫suid,此时你的这个进程的权限就变成了这个属主的权限,但uid依然保持不变。这个进程可以用seteuid(2)uidsuid之间切换。
类似的,gid也有rgidsgidegid,工作方式与uid相同。

最常见的“SetUID”程序就是susudo,你可以用它们临时切换权限。

最初的梦 2022-09-05 21:04:15

real user id (RUID)

进程的创建者用户ID,进程的执行者。该ID仅root用户可以修改。

effective user id (EUID)

该用户ID标识用户进程执行操作的权限。普通用户可以将EUID设置为RUID或SUID,而超级用户可以将EUID设置为任意的合法UID。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文