簡體   English   中英

如何在python中驗證root特權的用戶密碼

[英]How to verify a users password for root privledges in python

我正在嘗試編寫一個Python程序,該程序需要用戶密碼才能使用subprocess庫運行某些外部命令。 該代碼將大致如下所示。

import subprocess

passwordInput = raw_input("What is your password: ")

subprocess.call('echo ' + passwordInput + ' | sudo -S pacman -Syy', shell=True)

該程序可以正常工作,但是,如果輸入錯誤的密碼,則該程序將失敗。 我該如何添加某種類型的錯誤校驗來檢測密碼輸入是否錯誤?

我正在考慮也許將此代碼包裝在while循環中,然后使用try-except來測試密碼,但是我不確定哪種except可以做到這一點。

任何幫助深表感謝。

拋開echo

import subprocess
subprocess.call(['sudo', '-S', 'pacman', '-Syy'])

sudo程序將詢問用戶一定次數。 您的Python程序無需知道用戶密碼。 曾經

另一個問題是您使用的是shell=True ,這意味着如果我的密碼是$nakel0ver因為我喜歡蛇,那么您的程序會將空密碼傳遞給sudo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM