美文网首页
UID、EUID、SUID的区别 Linux

UID、EUID、SUID的区别 Linux

作者: 可可西里的星星 | 来源:发表于2019-07-05 09:35 被阅读0次

    UID:真实的用户ID 进程的UID就是其创建者的用户ID,用于标识进程的属主。

    EUID:有效的用户ID(我理解是文件所有者)

    (1)只有进程的创建者和root用户才有权利对该进程进行操作。于是,记录一个进程的创建者(也就是属主)就显得非常必要。

    (2)EUID,用来确定进程对某些资源和文件的访问权限。在大多数情况下,进程的UID和EUID是一样的 —— 除了著名的setuid程序。

    (3)什么是setuid程序? 例如:passwd命令,这个命令允许用户修改自己的登录口令。但是密码保存在/etc/shadow文件中,这个文件对普通用户是不可读的,那么用户怎么能够通过修改shadow文件来修改自己的口令呢?这就是setuid的妙处了。

    setuid通过使passwd在执行阶段具有文件所有者(也就是root)的权限,让用户临时有了修改shadow文件的能力(当然这种能力是受到限制的)。因此,passwd就是一个经典的setuid程序,其UID是当前执行这个命令的用户ID,而EUID则是root用户的ID(也就是0)

    相关文章

      网友评论

          本文标题:UID、EUID、SUID的区别 Linux

          本文链接:https://www.haomeiwen.com/subject/lfxshctx.html