关于用户的实际ID和有效ID的问题.

发布于 2022-07-24 12:03:22 字数 90 浏览 18 评论 7

是不是在平常情况下一个用户的实际ID和有效ID是一样的,但使用su命令使他拥有超级用户的权限时,其有效
ID就变成了超级用户的ID,实际ID不变。 这些地方不怎么明白。

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

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

发布评论

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

评论(7

另类 2022-07-26 17:52:15

对于权限许可来讲,其实真实id是无意义的,是否有权限,是有效id决定的,真实id只起一个继承的作用,类似于某些函数保存参数,比如sigaction或sigprocmask的最后一个参数的作用

若有误解,请指正

灵芸 2022-07-26 14:43:52

原帖由 湖光倒影 于 2006-8-19 08:42 发表
是不是在平常情况下一个用户的实际ID和有效ID是一样的,但使用su命令使他拥有超级用户的权限时,其有效
ID就变成了超级用户的ID,实际ID不变。 这些地方不怎么明白。

>>
>>
>>su以后用户就变为su对应的用户了,实际ID和有效ID都应该改变了。
>>实际ID和有效ID不一致的情况会出现在就像上面有位仁兄说得那样加了s权限
>>等可以变更用户权限,但是不切换用户的情况下。
>>
>>

混浊又暗下来 2022-07-26 14:19:21

su root后有效id与实际用户都是root,因为su调用的是setuid而不是seteuid,具体可以先了解一下setuid与seteuid的区别

々眼睛长脚气 2022-07-26 09:56:42

原帖由 mq110 于 2006-8-19 11:37 发表
[root@Firewall ~]# ls -al /bin/su
-rwsr-xr-x  1 root root 61927 Jun 20  2005 /bin/su

设置了s位.
也就是在设置了 设置-用户-id位.允许非特权用户交换实际ID和有效用户ID,
/bin/su这个程序的有效用户I ...

恩,我去看看

∞梦里开花 2022-07-26 06:50:16

[root@Firewall ~]# ls -al /bin/su
-rwsr-xr-x  1 root root 61927 Jun 20  2005 /bin/su

设置了s位.
也就是在设置了 设置-用户-id位.允许非特权用户交换实际ID和有效用户ID,
/bin/su这个程序的有效用户ID 是0 (root)  因为拥有者是root.
实际ID  是那个非特权用户执行它, 它的ID就是这个非特权用户的ID, 可能是1000,可能是1001 等等 .

因为设置了s位, 那么调用setreuid这样的函数就可以交换两个ID了。

具体的请参考<<Unix环境高级编程>> 第8章.

勿忘初心 2022-07-26 05:20:43

原帖由 零二年的夏天 于 2006-8-19 10:20 发表
应该是这样吧。
记得几年前有过一个这样讨论的帖子。

我也不懂,等待讲解下:)

对这有一贴,但是没解决。
http://bbs.chinaunix.net/viewthread.php?tid=342124
这还有一贴是关于su root和 su - 的区别的帖子
http://bbs.chinaunix.net/viewthread.php?tid=534037
在这个帖子里,两位高手出现了意见不统一
一个说su切换后,不是真正的root
一个说su切换后,就是真正的root

[ 本帖最后由 湖光倒影 于 2006-8-19 11:40 编辑 ]

羁客 2022-07-25 16:51:57

应该是这样吧。
记得几年前有过一个这样讨论的帖子。

我也不懂,等待讲解下:)

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