[英]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.