在Python中,你可以使用os和pwd庫來執行sudo命令并進行權限審計與追蹤
import os
import pwd
import subprocess
def run_sudo_command(command):
# 獲取當前用戶信息
current_user = pwd.getpwuid(os.getuid()).pw_name
# 使用sudo執行命令,并捕獲輸出
result = subprocess.run(["sudo", "-u", current_user, command], capture_output=True, text=True)
# 檢查命令是否成功執行
if result.returncode == 0:
print("Command executed successfully:")
print(result.stdout)
else:
print("Command execution failed:")
print(result.stderr)
if __name__ == "__main__":
# 替換為你想要執行的命令
command = "ls -l"
run_sudo_command(command)
這個示例中的run_sudo_command函數接受一個命令作為參數,然后使用sudo -u選項以當前用戶身份執行該命令。subprocess.run()函數用于執行命令并捕獲輸出。如果命令執行成功,將輸出成功信息;否則,將輸出錯誤信息。
請注意,這個示例僅用于演示目的。在實際應用中,你可能需要根據具體需求對代碼進行調整,例如添加錯誤處理、記錄日志等。