簡體   English   中英

在sudo命令中驗證密碼

[英]Validate password in sudo command

如何驗證在以下sudo命令中針對所提到的用戶輸入的密碼?

sh -c "echo <password> | sudo -u <username> <command/script>"

即使輸入了錯誤的密碼,該命令也對我有用。


基於@NikosC的評論。

“驗證”是指系統應確保輸入正確的密碼。 假設-的密碼 密碼 如果我將密碼設置為blahblah而不是password ,它仍然可以正常工作。

告訴sudo使用-S選項從標准輸入中讀取密碼,並且不使用-k選項將先前身份驗證中緩存的憑據考慮在內。 另外,您應該能夠直接使用管道,而無需產生新的外殼。 所以做:

echo password | sudo -k -S -u username command/script

有幾件事要注意。 首先,大多數系統都以某種方式配置sudo來獲取當前用戶的密碼,而不是目標用戶的密碼。 要配置sudo改為讀取目標用戶的密碼,必須設置:

Defaults targetpw

在您的sudo配置中(/ etc / sudoers或/etc/sudoers.d/中的文件)。

暫無
暫無

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

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