授業実習パスワードを自動的に確認しますか? [コピー]

授業実習パスワードを自動的に確認しますか? [コピー]

私は何よりもパスワードプロンプトと対話する必要なく(つまり、自動的にパスワードを入力せずに)ユーザーとして「ログイン」する(可能であればsuを使用することをお勧めします)、bashスクリプトを作成しようとしています。コマンドを実行し、セッションが終了する場合にのみ必要です。

これは私が教えているLinux入門プロセスのための「自動チェッカー」です。生徒はRaspberry Pi(Raspbianの実行)で特定のパスワードを使用してユーザー名を作成する練習をしています。生徒は Pis で「自動チェッカー」を実行して出力を確認するので、送信する前にエラーを修正できます。これはダミーパスワードを使用する教室の練習なので、そのパスワードのセキュリティはまったく関係ありません。

自動ログインについていくつかの質問があることを知っていますが、それらのどれも私には役に立ちませんでした。私が持っている最も近い解決策は、suコマンドを使用して端末が必要であるということでした。 「expect」を使用するには、学生のPiにパッケージをインストールする必要があるため、機能しません。

パスワードが正しいことを確認できる他の方法がある場合は、その方法を使用します。ソルトのためハッシュされたパスワード比較ができないようです。

ベストアンサー1

ルートがある場合:

salt=$(awk -F\$ '$1 ~ /student:/ { print $3 }' /etc/shadow)
hashedpasswd=$(awk -F: '$1 == "student" { print $2} ' /etc/shadow)
expected=$(mkpasswd -m sha-512 given-passwd $salt)
if [ "$hashedpasswd" = "expected" ]
then
   echo good
else
   echo bad
fi
  • studentもちろん、関連する文字列に置き換えてください。
  • given-passwdまた、交換されました。

詳細については、私の質問を参照してください。/etc/shadow : $6$ 暗号化されたパスワードを生成するには?

おすすめ記事