Python | os.setegid 函数

Lasted 2020-12-07 14:14:21

os.setegid 函数设置当前进程的有效组 ID。os.getegid() 函数可以获取当前组 ID。

Linux 系统中可以在 /etc/group 查看组 ID。

实际用户ID和有效用户ID

  • check实际用户ID和实际用户组ID - 标识我是谁。也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令的实际用户ID都是simon的uid,实际用户组ID都是simon的gid(可以用id命令查看)。
  • check有效用户ID和有效用户组ID - 进程用来决定我们对资源的访问权限。一般情况下,有效用户ID等于实际用户ID,有效用户组ID等于实际用户组ID。当设置-用户-ID(SUID)位设置,则有效用户ID等于文件的所有者的uid,而不是实际用户ID;同样,如果设置了设置-用户组-ID(SGID)位,则有效用户组ID等于文件所有者的gid,而不是实际用户组ID。

函数定义

os.setegid()
# 函数定义

if sys.platform != 'win32':
    # Unix only
    ...
    def setegid(egid: int) -> None: ...
    ...

兼容性:Unix 系统。

参数

  • checkint - 组 ID。

返回值

  • checkNone - 无。

示例1: - 使用 os.setegid() 函数设置组 ID。

# coding=utf-8

# Python3 代码
# 讲解怎样使用 os.setegid() 函数设置当前进程的有效组 ID

# 引入 os 库
import os

# 当前组 ID
print("Group ID::", os.getegid())

# 修改组 ID
egid = 200
os.setegid(egid)

# 当前组 ID
print("Group ID::", os.getegid())
UID: 1000