📜  Python| os.getresuid() 和 os.setresuid() 方法

📅  最后修改于: 2022-05-13 01:54:59.993000             🧑  作者: Mango

Python| os.getresuid() 和 os.setresuid() 方法

Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。

os 模块中的所有函数在文件名和路径无效或不可访问的情况下,或具有正确类型但操作系统不接受的其他参数的情况下引发OSError

Python中的os.getresuid()方法用于获取当前进程真实、有效、保存的用户id, os.setresuid()方法用于设置当前进程的真实、有效、保存的用户id。

类 Unix 操作系统中的每个用户都由不同的整数标识,这个唯一的数字称为 UserID。为一个进程定义了三种UserID,可以根据任务的权限动态改变。

注意: os.setresuid()os.getresuid()方法仅在 UNIX 平台上可用,并且os.setresuid()方法的功能通常仅对超级用户可用,因为只有超级用户可以更改进程的 ID。
超级用户是指具有在操作系统中运行或执行任何程序的所有权限的 root 用户或管理用户。

os.getresuid() 方法——

代码 #1:使用 os.getresuid() 方法
# Python program to explain os.getresuid() method 
  
# importing os module 
import os
  
# Get the current process’s 
# real, effective, and saved user ids.
# using os.getresuid() method
ruid, euid, suid = os.getresuid()
  
# Print the current process’s
# real, effective, and saved user ids.
print("Real user id of the current process:", ruid)
print("Effective user id of the current process:", euid)
print("Saved user id of the current process:", suid)

输出:
os.getresuid() 方法输出

os.setresuid() 方法——

代码 #2:使用 os.setresuid() 方法
# Python program to explain os.setresuid() method 
  
# importing os module 
import os
  
  
# Get the current process’s 
# real, effective, and saved user ids.
# using os.getresuid() method
ruid, euid, suid = os.getresuid()
  
# Print the current process’s
# real, effective, and saved user ids.
print("Real user id of the current process:", ruid)
print("Effective user id of the current process:", euid)
print("Saved user id of the current process:", suid)
  
# Change the current process’s
# real, effective, and saved user ids
# using os.setresuid() method
ruid = 100
euid = 200
suid = 300
os.setresuid(ruid, euid, suid)
print("\nReal, effective, and saved user ids changed\n")
  
  
# Get the current process’s 
# real, effective, and saved user ids.
# using os.getresuid() method
ruid, euid, suid = os.getresuid()
  
# Print the current process’s
# real, effective, and saved user ids.
print("Real user id of the current process:", ruid)
print("Effective user id of the current process:", euid)
print("Saved user id of the current process:", suid)

输出:
os.setresuid() 方法输出