Python | os.setuid 函数
Lasted 2020-12-07 14:38:22
os.setuid 函数设置当前进程的用户ID。os.getuid() 函数可以获取用户ID。
Linux 系统中可以在 /etc/passwd 查看用户 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.setuid(uid)
# 函数定义
if sys.platform != 'win32':
# Unix only
...
def setuid(uid: int) -> None: ...
...
兼容性:Unix 系统。
参数
- checkuid - 用户 ID。
返回值
- checkNone - 无。
示例1: - 使用 os.setuid() 函数设置用户 ID。
# coding=utf-8
# Python3 代码
# 讲解怎样使用 os.setuid() 函数设置用户 ID
# 引入 os 库
import os
# 当前用户 ID
print("UID::", os.getuid())
# 修改用户 ID
uid = 1000
os.setuid(uid)
# 当前用户 ID
print("UID::", os.getuid())
UID:: 0 UID:: 1000