Apple Open Directory (LDAP) サーバーに対してパスワードが正しい (または正しくない) かどうかをテストする単純なシェル スクリプトがあります。
私が望むのは、「ノード/LDAPv3/1の認証...」というgoblygookエラーメッセージを単純に失い、代わりに「パスワードが一致しません」などの独自の言語を挿入することです.
これが今起こっていることです:
bash-3.2# test-password
Enter username you'd like to test password for:
jdoe
Enter Password to test for jdoe
asdasdasd
Authentication for node /LDAPv3/127.0.0.1 failed. (-14090, eDSAuthFailed)
<dscl_cmd> DS Error: -14090 (eDSAuthFailed)
私が好むのは:
bash-3.2# test-password
Enter username you'd like to test password for:
jdoe
Enter Password to test for jdoe
asdasdasd
Password matches!
したがって、std outエラーメッセージがこもる方法を知る必要があります...
スクリプトは次のとおりです。
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin export PATH
echo
echo Enter username you\'d like to test password for:
read USERNAME
echo
echo Enter Password to test for "$USERNAME"
read PASSWORD
/usr/bin/dscl /LDAPv3/127.0.0.1 auth $USERNAME $PASSWORD
if [ "$?" = "0" ]; then
echo "Password is correct"
exit 0
fi