Python os.getresgid()和os.setresgid()
Python os模块中的所有函数在文件名和路径无效或不可访问,或其他具有正确类型但操作系统不接受的参数时都会引发OSError。
Python中的os.getresgid()方法用于获取当前进程的真实、有效和保存的组id,而os.setresgid()方法用于设置当前进程的真实、有效和保存的组id。
另外,我们还可以分别使用os.getgid()和os.getegid()方法获得当前进程的真实有效的组id,还可以分别使用os.setgid()和os.setegid()方法设置当前进程的真实有效的组id。
注意:os.setresgid()和os.getresgid()方法只在UNIX平台上可用,而且os.setresgid()方法的功能通常只对超级用户可用,因为只有超级用户可以更改进程的组id。超级用户是指具有运行或执行操作系统中任何程序的所有权限的根用户或管理用户。
os.getresgid()方法
语法:os.getresgid()
参数:不需要参数
返回类型:该方法返回一个元组,其属性表示当前进程的真实、有效和保存的组id。
示例1
使用os.getresgid()方法
# Python program to explain os.getresgid() method
# importing os module
import os
# Get the current process’s
# real, effective, and saved group ids.
# using os.getresgid() method
rgid, egid, sgid = os.getresgid()
# Print the current process’s
# real, effective, and saved group ids.
print("Real group id of the current process:", rgid)
print("Effective group id of the current process:", egid)
print("Saved group id of the current process:", sgid)
输出:
os.setresgid()方法
语法:os.setresgid(rgid, egid, sgid)
参数:
rgid:整数值,表示当前进程的新组id。
egid:整数值,表示当前进程的新有效组id。
sgid:整数值,表示当前进程新保存的组id。
返回类型:此方法不返回任何值。
示例2
使用os.setresgid()方法
# Python program to explain os.setresgid() method
# importing os module
import os
# Get the current process’s
# real, effective, and saved group ids
# using os.getresgid() method
rgid, egid, sgid = os.getresgid()
# Print the current process’s
# real, effective, and saved group ids
print("Real group id of the current process:", rgid)
print("Effective group id of the current process:", egid)
print("Saved group id of the current process:", sgid)
# Change the current process’s
# real, effective, and saved group ids
# using os.setresgid() method
rgid = 100
egid = 200
sgid = 300
os.setresgid(rgid, egid, sgid)
print("\nReal, effective, and saved group ids changed\n")
# Get the current process’s
# real, effective, and saved group ids
# using os.getresgid() method
rgid, egid, sgid = os.getresgid()
# Print the current process’s
# real, effective, and saved group ids
print("Real group id of the current process:", rgid)
print("Effective group id of the current process:", egid)
print("Saved group id of the current process:", sgid)
输出: