开发者社区> 问答> 正文

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

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

展开
收起
a123456678 2016-06-06 19:32:20 2781 0
1 条回答
写回答
取消 提交回答
  • 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,你可以用它们临时切换权限。

    2019-07-17 19:29:18
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载