Python | os.getresuid 函數

最近更新時間 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

使用不同用戶運行腳本會返回不同結果。

rss_feed