感觉是一样的,什么样的情况下不一样?文件的owner id 是不是等于拥有者的user id?
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,你可以用它们临时切换权限。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。