当前位置: 首页 > Linux

关于 Linux 进程的 UID、EUID、GID 和 EGID

时间:2023-04-06 11:48:00 Linux

关于Linux进程的UID、EUID、GID和EGID重要,因为大多数服务器必须以root身份启动,但不能以root身份运行。一个进程有两个用户ID:UID和EUID。EUID的目的是方便资源访问:它使运行程序的用户拥有程序的有效用户权限。  比如su程序,任何用户都可以用它来修改自己的账户信息,但是修改账户时,su程序必须访问/etc/passwd文件,而访问这个文件需要root权限。那么以普通用户身份启动的su程序如何访问/etc/passwd文件呢?诀窍在于EUID。正如您在ls命令中看到的那样,su程序由root拥有,并设置了set-user-id标志。  此标志表示任何普通用户运行su程序时,其有效用户是程序的所有者。那么,通过有效用户的含义,任何运行su程序的普通用户都可以访问/etc/passwd文件。有效用户为root的进程称为特权进程。EGID的含义类似于EUID:为运行目标程序的组用户提供有效的组权限。设置方法  chmodu+sfilename设置SUID位  chmodu-sfilename去除SUID设置  chmodg+sfilename设置SGID位  chmodg-sfilename去除SGID设置