У меня есть веб-приложение в дистрибутиве Linux Openwrt, где я использую пароль root для входа пользователем. Я смог изменить пароль root на html-странице «изменение пароля», используя программу cgi на c, вызвав системную команду для изменения пароля root.
system("(echo 'newpassword'; sleep 1; echo 'newpassword') | passwd root");
Теперь проблема, с которой я столкнулся, заключается в том, что я не понимаю, как сделать страницу входа функциональной. есть в openwrt?) . Я нашел скрипт login.sh в папке /bin, но это скрипт входа в систему (сценарий приведен ниже)?
#!/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 это делает?..
Надеюсь вопрос ясен.
Спасибо.