Python | os.getresuid 函数

Lasted 2020-12-07 12:43:15

os.getresuid 函数返回一个由 (ruid, euid, suid) 所组成的元组,分别表示当前进程的真实用户ID,有效用户ID和甲暂存用户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.getresuid()
# 函数定义

if sys.platform != 'win32':
    # Unix only
    ...
    def getresuid() -> Tuple[int, int, int]: ...
    ...

兼容性:Unix 系统。

参数

  • checkNone - 无。

返回值

  • checkTuple[int, int, int] - ID 元组。

示例1: - 使用 os.getresuid() 函数获取用户ID。

# coding=utf-8

# Python3 代码
# 讲解怎样使用 os.getresuid() 函数获取用户ID

# 引入 os 库
import os

# 获取用户ID
ruid, euid, suid = os.getresuid()

print("Real ID:", ruid) 
print("Effective ID:", euid) 
print("Saved ID:", suid) 
Real ID: 0
Effective ID: 0
Saved ID: 0

使用不同用户运行脚本会返回不同结果。