Python | os.setegid 函數

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