美文网首页
2019-05-19 Linux 进程用户属性总结

2019-05-19 Linux 进程用户属性总结

作者: 知成 | 来源:发表于2019-05-19 21:36 被阅读0次

    Linux 进程用户属性总结


    UID,EUID,SUID,GID,EGID,SGID

    在Linux系统中不同的用户拥有不同的权限,这样才能保证服务器的安全性。在ubuntu中我一般情况下都是在普通用户下做操作的,但是在有些时候有些程序必须使用root用户才能,执行此程序因此就会涉及到执行权限的问题。

    UID表示进程的用户ID:

    进程的用户ID是指,创建此进程的用户的ID。简单的说,哪个用户创建了此进程,这个“进程的用户ID”就表示该用户。

    SUID

    SUID是set uid的简称,表示设置UID,即设置文件的拥有着权限,当某些文件不想被别人做操作时,可以设置SUID。(如passwd文件)

    • SUID只对二进制文件有效
    • 拥有着对该文件有执行权
    • 执行时会暂时获取文件所有者权限
    • 该权限只在程序执行过程中有效

    EUID表示进程拥有着权限

    EUID直白的讲,就是拥有此文件的用户ID,一般情况下EUID与UID是相同的,但是EUID是随时变化的根据所操作文件的权限而定。一般操作被设置为SUID的文件时,就会使EUID就会与UID不同,需要临时提升用户权限。

    同理GID,EGID,SGID都表示与之对应的组ID

    改变用户权限的方式

    程序中

    #include<unistd.h>
    int setuid(uid_t uid)
    
    • 程序中使用如上函数用来临时提升用户的执行权限。
    • 同理有setuid()函数自然有setguid()函数提升组ID权限。

    在BUSH中

    • 在bash中可以使用chmod 命令修改文件的操作权限。
    • 使用sudo命令可临时提权。

    扩展

    • root用户的用户ID为0
    • o~1000为系统保留的用户ID
    • 1000外为用户自己创建的

    相关文章

      网友评论

          本文标题:2019-05-19 Linux 进程用户属性总结

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