Linux Distro Openwrt に Web アプリケーションがあり、ユーザーによるログインに root パスワードを使用しています。システムコマンドを呼び出してルートパスワードを変更することにより、cのcgiプログラムを使用して「パスワード変更」htmlページからルートパスワードを変更できました。
system("(echo 'newpassword'; sleep 1; echo 'newpassword') | passwd root");
今私が直面している問題は、ログインページを機能させる方法がわからないということです.. (ルートパスワードでログインするにはどうすればよいですか?そこでどのようなcgiを使用すればよいですか?または、既に存在する可能性のあるスクリプトを呼び出す必要がありますopenwrt にはありますか?) . /bin フォルダーに login.sh というスクリプトを見つけましたが、それはログイン スクリプト (以下のスクリプト) ですか?
#!/bin/sh
if ( ! grep -qs '^root:[!x]\?:' /etc/shadow || \
! grep -qs '^root:[!x]\?:' /etc/passwd ) && \
[ -z "$FAILSAFE" ]
then
echo "Login failed."
exit 0
else
cat << EOF
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------
EOF
fi
exec /bin/ash --login
LuCI はどのようにそれを行っていますか? ...
質問が明確であることを願っています。
ありがとう。