[英]how to login to user account from shell script with password in the script?
[英]How to validate a user's password, with a shell script?
我正在為Ubuntu終端制作bash腳本。 我需要先驗證用戶身份,然后代碼才能繼續。 如何詢問並驗證其現有的登錄密碼?
您總是可以只使用id
命令並執行以下操作:
user=$(id -u) # Set $user to user's user id
如果在腳本中執行此操作,則可以檢查$user
是否為有效的用戶ID。 您可以在/etc/group
文件中查看用戶名和ID。 當然,這不是在驗證用戶密碼。 而是,這僅檢查運行腳本的用戶的ID。
getent shadow | cut -d ":" -f 2
如果返回!!
,未設置密碼,否則,用戶具有密碼。
之后,我們可以執行以下操作:
#!/bin/bash
for user in $(getent shadow | cut -d ":" -f 1);
do
has_pass=$(getent shadow | grep $user | cut -d ":" -f 2)
if [ $has_pass = "!!" ]; then
echo "User $user does not have password"
else
echo "User $user has password"
fi
done
無論如何,至少在下一次,嘗試在問之前做點什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.