在Python中,您不需要使用sudo
來執行腳本或命令
os.setuid()
和os.setgid()
函數更改當前進程的用戶ID和組ID。這將允許您的Python腳本以其他用戶身份運行。請注意,這可能會導致安全風險,因為您的腳本將具有目標用戶的權限。在使用這些函數之前,請確保了解相關的安全風險。import os
# 用目標用戶ID替換'TARGET_USER_ID'
os.setuid(TARGET_USER_ID)
os.setgid(TARGET_USER_ID)
subprocess
模塊。這將允許您以其他用戶身份運行命令,而無需更改整個進程的用戶ID和組ID。import subprocess
# 用目標用戶ID替換'TARGET_USER_ID'
command = f'sudo -u TARGET_USER_ID your_command_here'
subprocess.run(command, shell=True)
請注意,這些方法可能需要根據您的操作系統和系統配置進行調整。在使用這些方法時,請確保了解相關的安全風險,并采取適當的預防措施。